node.js - 设置 jest 连接到测试数据库
问题描述
嗨,在一个现有项目上工作的人,它上面有 jest 设置,但它没有指定在测试数据库中运行,只是运行了测试,它弄乱了我的开发数据库。我需要做什么来指定它应该运行名为“test”的测试数据库?我所拥有的只是 package.json,上面写着:
"jest": {
"collectCoverage": false,
"testEnvironment": "node",
"verbose": true,
"bail": true,
"roots": [
"./tests"
]
},
不存在测试设置文件,我宁愿使用设置文件而不是 package.json
解决方案
针对独立于开发数据库的专用测试数据库运行测试是一个好主意。为此,您需要从项目源代码中外部化数据库连接字符串。在运行任何测试之前,您需要设置外部化配置,以便您的应用程序能够连接到正确的数据库。
确切的答案取决于您如何外部化连接字符串。一种选择是使用 12-Factor App 方式使用环境变量来传递配置。还假设您有读取文件的dotenv或类似库。.env
您会.env.test
在jest.config.js
. 它会设置与您的开发时间.env
文件不同的测试数据库连接。
请记住,.env
不应将文件提交给版本控制。
推荐阅读
- c# - 如何使用 Rhino 在基类中模拟受保护的方法?
- php - 在远程服务器上安装 Symfony
- java - 如何使二叉搜索树成为Java中的完整二叉搜索树?
- java - this.packagename 在 Android Studio 中不起作用?
- core-plot - barFillForPlotColor 的核心绘图快速版本
- powerbi - power bi 矩阵中的自定义聚合列
- java - 调用存储在 ArrayList 中的对象的方法时出错
- python - 使用 python 仅在 R(Red) 通道中显示图像
- sql - 当一个查询是行数较少的内部联接时,HIVE 组合两个查询结果
- android - Android 复选框