大家好,在一个现有的项目上进行了有趣的设置,但没有指定要在测试数据库中运行,只是运行了测试,这弄乱了我的开发数据库。我需要做什么来指定它应该运行称为“ test”的测试数据库?我所拥有的只是package.json,上面写着:
"jest": {
"collectCoverage": false,
"testEnvironment": "node",
"verbose": true,
"bail": true,
"roots": [
"./tests"
]
},
不存在测试安装文件,我宁愿使用安装文件而不是package.json
答案 0 :(得分:0)
针对与开发数据库分开的专用测试数据库运行测试是一个好主意。为此,您需要从项目源代码外部化数据库连接字符串。在运行任何测试之前,您需要设置外部化的配置,以便您的应用程序可以连接到正确的数据库。
确切答案取决于您如何外部化连接字符串。一种选择是使用12因素应用程序使用环境变量来传递配置的方式。还假设您拥有dotenv或类似的读取.env
文件的库。您已经在.env.test
的开头阅读了jest.config.js
。它将建立与开发时间.env
文件不同的测试数据库连接。
请记住,.env
个文件不应提交给版本控制。