从测试套件访问Heroku应用程序和In-dyno Postgres

时间:2019-07-17 09:11:55

标签: heroku heroku-ci

我正在设置Heroku-CI以运行集成测试。我的目标是:

  • 每次测试前用种子数据填充数据库
  • 对应用程序进行API调用并检查结果

我很难在Internet上找到任何说明如何连接测试套件的数据库/进行API调用的来源。

正如官方文档中所述,我将app.json设置为提供heroku-postgresql:in-dyno插件:https://devcenter.heroku.com/articles/heroku-ci#provisioning-add-ons-the-addons-key-example

{
  "environments": {
    "test": {
      "addons": [
        "heroku-postgresql:in-dyno"
      ]
    }
  },
  "addons": [
    "heroku-postgresql"
  ],
}

因此,我期望按照文档中的说明DATABASE_URL env变量进行定义:https://devcenter.heroku.com/articles/heroku-ci-in-dyno-databases#usage

我倾倒了process.env并得到(为清楚起见被滤除):

CI_NODE_INDEX=0
SHLVL=2
PORT=13825
WEB_CONCURRENCY=5
CI_NODE_TOTAL=1
HEROKU_TEST_RUN_COMMIT_VERSION=9d21e06632878c2d23fb4e8f51017d5e87628ac7
STACK=heroku-18
HEROKU_TEST_RUN_ID=e5e28b13-efbe-4ef0-bc50-ed3a041bca04
HEROKU_TEST_RUN_NUMBER=27
NODE_ENV=test
JEST_WORKER_ID=1

DATABASE_URL未定义。我应该如何连接到数据库并用种子数据填充它?

我没有在DATABASE_URL中的任何地方指定app.json,但我不认为应该这样做,就像评论应用一样。

我还尝试使用PORT环境变量http://localhost:${process.env.PORT}/graphql对服务器进行API调用,但得到了connect ECONNREFUSED 127.0.0.1:13825

这让我感到困惑,任何见解将不胜感激!

0 个答案:

没有答案