Jestjs Jest测试不会通过,即使第一个测试被注释

Jestjs Jest测试不会通过,即使第一个测试被注释,jestjs,Jestjs,我在为一些认证端点编写测试时,遇到了一个类似bug的问题,我似乎无法解决 这不会通过: it("Testing /auth/signup/lol", () => { const test = true; expect(test).toBe(true); console.log("finished test?"); }); 我能重现这个问题的唯一方法是获取所有安装和拆卸代码,然后将其移动到另一个文件,以及困扰我的测试,正如我所做的,这个测试是从auth.test.js复制的 我

我在为一些认证端点编写测试时,遇到了一个类似bug的问题,我似乎无法解决

这不会通过:

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)
代码的其余部分还可以