首页 > 解决方案 > 设置 jest 连接到测试数据库

问题描述

嗨,在一个现有项目上工作的人,它上面有 jest 设置,但它没有指定在测试数据库中运行,只是运行了测试,它弄乱了我的开发数据库。我需要做什么来指定它应该运行名为“test”的测试数据库?我所拥有的只是 package.json,上面写着:

  "jest": {
    "collectCoverage": false,
    "testEnvironment": "node",
    "verbose": true,
    "bail": true,
    "roots": [
      "./tests"
    ]
  },

不存在测试设置文件,我宁愿使用设置文件而不是 package.json

标签: node.jstestingjestjs

解决方案


针对独立于开发数据库的专用测试数据库运行测试是一个好主意。为此,您需要从项目源代码中外部化数据库连接字符串。在运行任何测试之前,您需要设置外部化配置,以便您的应用程序能够连接到正确的数据库。

确切的答案取决于您如何外部化连接字符串。一种选择是使用 12-Factor App 方式使用环境变量来传递配置。还假设您有读取文件的dotenv或类似库。.env您会.env.testjest.config.js. 它会设置与您的开发时间.env文件不同的测试数据库连接。

请记住,.env不应将文件提交给版本控制。


推荐阅读