此问题与此处的问题非常相似:https://github.com/sinonjs/sinon/issues/2138
我将使用相同的示例:
it("test case 100", () => {
return getPromiseA().then((A1) => {
const mock1 = sinon.mock(MyObject);
mock1.expects("someMethod").twice();
A1.getPromiseB("1234").then((response) => {
mock1.restore();
mock1.verify();
}).catch((error) => {
console.log("+++--- (Error) END of testCase +++++");
}
}, (rejectedP) => {
}).catch((err) => {
console.log("-------- (REJ-C) END of testCase ++++");
});
});
代码行:mock1.expects("someMethod").twice();
时,mock1.verify();
应该失败叫做。在正常情况下,mock1.verify();
将引发异常,并且测试用例将失败。
但是在上面的示例中,测试用例不会失败。在浏览器控制台中发布了一个错误-就是这样。
此问题的解决方法是测试用例应该失败。有什么想法吗?
此问题与此处的问题非常相似:https://github.com/sinonjs/sinon/issues/2138我将使用相同的示例:it(“ test case 100”,()=> {返回getPromiseA()。then((A1)=> ...
知道了,使用链式诺言时可能会造成混淆。这是可以做的: