首页 > 解决方案 > 如何通过 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 ......?

标签: node.jsherokucontinuous-integrationmocha.jssails.js

解决方案


解决方案不是尝试设置 PORT,因为它是由 Heroku 自动设置的。

在应用程序中,端口可通过以下方式获得:

baseUrl: 'http://localhost:' + process.env.PORT,

测试现在有效。


推荐阅读