在钩子(Mocha + Chai)内测试断言



这是我的断言:

it('test 1 - 200', (done) => {
receiver.on("get_payload", (payload) => {         
expect(payload).to.be.an("object");
expect(payload.text).to.be.a("string").equals("text-sender");
done();
});
sender.emit("get_payload", { receiver: receiver_id, text: "text-sender" })
});

这里接收者获得事件。问题是当断言失败时,我得到一个超时而不是实际原因。

我读到这是因为断言抛出异常并且执行永远不会达到done()。

我不确定那个例外会发生什么。如果Mocha捕捉到它或忽略它。

现在在我的情况下,你建议为断言做一个承诺链还是其他合适的模式?

必须这样做:

it('test 1 - 200', (done) => {
receiver.on("get_payload", (payload) => {
try {
expect(payload).to.be.an("object");
expect(payload.text).to.be.a("string").equals("text-sender");
done();
} catch(error) {
done(error);
}
});
sender.emit("get_payload", { receiver: receiver_id, text: "text-sender" })
});

相关内容

  • 没有找到相关文章

最新更新