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
变量