Jestjs Jest测试不会通过,即使第一个测试被注释
我在为一些认证端点编写测试时,遇到了一个类似bug的问题,我似乎无法解决 这不会通过:Jestjs Jest测试不会通过,即使第一个测试被注释,jestjs,Jestjs,我在为一些认证端点编写测试时,遇到了一个类似bug的问题,我似乎无法解决 这不会通过: it("Testing /auth/signup/lol", () => { const test = true; expect(test).toBe(true); console.log("finished test?"); }); 我能重现这个问题的唯一方法是获取所有安装和拆卸代码,然后将其移动到另一个文件,以及困扰我的测试,正如我所做的,这个测试是从auth.test.js复制的 我
it("Testing /auth/signup/lol", () => {
const test = true;
expect(test).toBe(true);
console.log("finished test?");
});
我能重现这个问题的唯一方法是获取所有安装和拆卸代码,然后将其移动到另一个文件,以及困扰我的测试,正如我所做的,这个测试是从auth.test.js复制的
我花了一上午的时间试图找出问题所在,测试通过的唯一时间是在我删除安装代码时。但是,在Notebook.test.js和auth.test.js上(不包括auth.tests.js脚本底部的最后两个和三个测试),设置代码按预期工作
这个代码怎么了
复制步骤:
克隆此存储库
转到开发部门
转到后端目录
安装所有软件包
运行“npm tests/endpoints/auth2.test.js”
我会发布一个小程序来重现这个问题,但所有尝试都失败了 afterEach方法中有一个超时,因为collections.users.drop返回一个未定义的值结果是未定义的。 至少,在测试结果值时添加一个else子句,这样您就可以在达到10秒超时之前退出该方法。 也许需要一些额外的代码,但我不知道你的代码和测试的逻辑,所以也许以后每个人都应该做更多的事情。 以下是工作代码:
afterEach(done => {
server.getTokenManager().empty()
let collections = server.getClient()?.connection.collections
if (collections === undefined) {
done()
return
}
if (collections.users !== undefined) {
collections.users.drop((err: any, result: any) => {
if (result) {
done()
} else {
done()
}
})
}
}, 10000)
代码的其余部分还可以