【问题标题】:Mocha test freezes after failing assert断言失败后摩卡测试冻结
【发布时间】:2021-11-21 18:46:57
【问题描述】:

所以我正在使用 mocha 来测试我的简单快递应用程序。 测试工作正常,直到第一次失败。失败后,测试会冻结在某个断言(承诺)循环中。

如果 sumInPromise 函数不是一个 Promise,那么它可以正常工作。有什么建议我做错了吗?

代码:

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();
  });
});

【问题讨论】:

    标签: mocha.js


    【解决方案1】:

    我使用旧的方式编写 mocha 测试...我无法完全解释为什么以及如何,但是应该返回承诺。这是我当前有效的代码:

      it("OK, dummyPromise", () => {
        return sumInPromise(2, 2).then(sum => assert.equal(sum, 5));
      });
    

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2019-09-07
      相关资源
      最近更新 更多