【发布时间】:2019-01-11 00:27:44
【问题描述】:
我正在尝试使用 Jest 为我的 Node.js 后端应用程序编写测试。
后端通过猫鼬实现了mongodb。
我需要一个全局钩子,在所有测试文件中运行 all 测试之前,我可以在其中连接到数据库。
在 Mocha 中,我可以轻松做到 documented here:
您还可以选择任何文件并添加“根”级挂钩。例如,在所有
describe()块之外添加beforeEach()。这将导致对beforeEach()的回调在任何测试用例之前运行,无论它位于哪个文件中(这是因为 Mocha 有一个隐含的describe()块,称为“根套件”)。
例如,我可以创建一个testHelper.js 文件并写入:
const mongoose = require('mongoose');
// ./test/testHelper.js
before((done) => {
const mongoURI = `${process.env.DB_MONGO_URI}/testdb`;
mongoose.connect(mongoURI, { useNewUrlParser: true});
mongoose.connection
.once('open', done)
.on('error', (error) => {
console.warn(error);
done();
});
});
after(() => {
mongoose.disconnect();
});
以上将在所有测试文件中的所有测试之前和之后运行。
我怎样才能用 jest 做同样的事情?
【问题讨论】:
标签: javascript node.js jestjs