5

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

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

我很难在互联网上找到任何解释如何连接到数据库/从测试套件进行 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_URLenv 变量按照文档中的解释进行定义: 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但我认为我不应该指定,就像评论应用程序一样。

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

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

4

0 回答 0