设置玩笑以连接到测试数据库

时间:2019-12-03 12:49:25

标签: node.js testing jestjs

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

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

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

1 个答案:

答案 0 :(得分:0)

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

确切答案取决于您如何外部化连接字符串。一种选择是使用12因素应用程序使用环境变量来传递配置的方式。还假设您拥有dotenv或类似的读取.env文件的库。您已经在.env.test的开头阅读了jest.config.js。它将建立与开发时间.env文件不同的测试数据库连接。

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