node.js - 如何通过 Heroku 分配的端口进行 CI 测试 SailsJS 应用程序
问题描述
我正在尝试配置 Heroku 管道以在将应用程序部署到生产之前成功运行 NodeJS / SailsJS 应用程序的 Mocha 测试。
测试运行失败,因为应用程序不知道 Heroku 随机分配的端口(或者看起来如此)。在其中一项测试中,测试运行程序尝试获取 CSRF 令牌,但它无法获取。在本地,它可以正常工作。
我尝试package.json
通过以下行在文件中传递正确的端口:
"test": "NODE_ENV=test mocha --port process.env.PORT --timeout 15000 --config=test/mocharc.json --node-env=test --exit test/suites/**.js",
但不幸的是,这没有用。
有谁知道如何将 Heroku 分配的端口传递给 Mocha ......?
解决方案
解决方案不是尝试设置 PORT,因为它是由 Heroku 自动设置的。
在应用程序中,端口可通过以下方式获得:
baseUrl: 'http://localhost:' + process.env.PORT,
测试现在有效。
推荐阅读
- bash - 如何从 bash 脚本中的引用字符串中获取环境变量?
- python - MATLAB和Python中的方程给出不同的结果
- java - 是什么导致码头 badMessage:HttpChannelOverHttp 的 413
- python-3.x - 如何比较列表python3中的特定元素?
- javascript - Javascrip 默认参数 ReferenceError: param is not defined
- jquery - SignalR 停止使用我的管理模板
- angular - 深度未知时如何在html中递归显示树结构格式的嵌套数据
- java - 为什么不在每个定期 sendMessage() 之前初始化 TcpSyslogMessageSender?
- latex - pdfTeX 警告说关于重复的数字
- python - 使用包含 html、转义字符和换行符的文件解析 Json