首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mocha测试在断言失败后冻结

Mocha测试在断言失败后冻结
EN

Stack Overflow用户
提问于 2021-11-21 18:46:58
回答 1查看 18关注 0票数 0

所以我使用mocha来测试我的简单的express应用。测试在第一次失败之前一直运行得很好。失败后,测试在某个断言(promise)循环中冻结。

如果sumInPromise函数不是promise,那么它就会正常工作。有什么建议吗?我哪里做错了?

代码:

代码语言:javascript
运行
复制
describe("Dummy test", () => {

  before((done: Done) => {
    app ? done() : initStart()
      .then(() => {
        while (app == null) {
          //empty
        }
        
        done();
      })
      .catch((err) => done(err));
  });

  after((done: Done) => {
    app ? done() : closeServer()
      .then(() => done())
      .catch((err) => done(err));
  });

  const sumInPromise = (a: number, b: number) => {
    return Promise.resolve(a + b);
  };

  it("OK, dummyPromise", async (done: Done) => {
    const sum = await sumInPromise(2, 2);

    assert.equal(sum, 5);

    done();
  });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-21 19:17:00

我使用了旧的写mocha测试的方法。我不能完全解释为什么和如何,但承诺应该得到回报。这是我当前运行的代码:

代码语言:javascript
运行
复制
  it("OK, dummyPromise", () => {
    return sumInPromise(2, 2).then(sum => assert.equal(sum, 5));
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70057587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档