Node.js 如何使用test DB string为测试设置Node env变量
我试图在运行测试时设置节点以使用不同的配置变量,而不必更改所有模型文件中的配置 这是我的每个模型中的内容:Node.js 如何使用test DB string为测试设置Node env变量,node.js,mocha.js,Node.js,Mocha.js,我试图在运行测试时设置节点以使用不同的配置变量,而不必更改所有模型文件中的配置 这是我的每个模型中的内容: const mongoose = require('mongoose') const settingSchema = require('./schemas/setting_schema') // connect to Mongo mongoose.connect(process.env.DB_STRING, { useNewUrlParser: true, useFindAndM
const mongoose = require('mongoose')
const settingSchema = require('./schemas/setting_schema')
// connect to Mongo
mongoose.connect(process.env.DB_STRING, {
useNewUrlParser: true,
useFindAndModify: false,
useCreateIndex: true,
useUnifiedTopology: true
})
我创建了一个init.spec.js
文件,其中包含以下内容:
before(() => {
process.env.DB_STRING = process.env.DB_STRING_TEST
})
但是当我运行我的测试时,我可以看到我的开发数据库已经被更新(在我的例子中,有一些被删除了,这就是我希望在测试数据库中发生的事情)
是否有一种方法可以使用新的环境变量
DB\u STRING\u TEST
代替DB\u STRING
,而不必更新我的所有模型?每次更改进程时,您都必须重新连接.env.DB\u STRING
变量