mock.verify()不会通过测试-如果从Promise回调中调用

问题描述 投票:0回答:1

此问题与此处的问题非常相似: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)=> ...

javascript es6-promise sinon
1个回答
0
投票

知道了,使用链式诺言时可能会造成混淆。这是可以做的:

© www.soinside.com 2019 - 2024. All rights reserved.