这是我的断言:
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" })
});