gpt4 book ai didi

node.js - 我应该如何在 Mocha 单元测试中初始化 Mongoose 连接?

转载 作者:可可西里 更新时间:2023-11-01 10:00:44 25 4
gpt4 key购买 nike

我一直在到处寻找这个。有些人似乎是这样

mongoose.connect('mongodb://localhost/test');

然后继续他们的describe 调用。那么异步等待呢?

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
// yay!
});

我应该如何在 Mocha 测试中使用此连接?我应该将所有测试都放在回调中吗?我应该将等待连接的代码包装在单元测试中吗?连接是否会在 describeit 之间持续存在?

最佳答案

Mongoose connect函数支持回调。

由于 before 的 Mocha 异步版本也接受回调(通常称为 done),只需将其传递给 connect 函数,例如:

describe("Your test", function () {

before(function (done) {
mongoose.connect('mongodb://localhost/test', done);
});
// here you can write your tests
});

这样,连接将在 describe 范围内保持事件状态,before 方法被放置。

但是,如果您想将您的连接用于测试文件中的所有测试,只需在所有describe 之前调用它:

before(function (done) {
mongoose.connect('mongodb://localhost/test', done);
});

describe("first suite", function () {
// do your tests
});

describe("second suite", function () {
// do your tests
});

// and so on

关于node.js - 我应该如何在 Mocha 单元测试中初始化 Mongoose 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29403194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com