所以我使用mocha来测试我的简单的express应用。测试在第一次失败之前一直运行得很好。失败后,测试在某个断言(promise)循环中冻结。
如果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();
});
});
发布于 2021-11-21 19:17:00
我使用了旧的写mocha测试的方法。我不能完全解释为什么和如何,但承诺应该得到回报。这是我当前运行的代码:
it("OK, dummyPromise", () => {
return sumInPromise(2, 2).then(sum => assert.equal(sum, 5));
});
https://stackoverflow.com/questions/70057587
复制相似问题