【问题标题】:Sinon Stub/Spy Using WithArgs Not Behaving As Expected使用 WithArgs 的 Sinon Stub/Spy 行为不符合预期
【发布时间】:2013-06-25 16:09:07
【问题描述】:

当我为 sinon spy 或存根指定 withArgs 时,我希望 callCount 只计算带有这些参数的调用。不过,这似乎没有发生。

如果我运行以下命令:

var mySpy = sinon.spy();
mySpy.withArgs("foo");

mySpy("bar");

expect(mySpy.callCount).to.be(0);

我得到“预期 1 等于 0”。我疯了,这是一个错误,还是有其他方法可以做到这一点?

【问题讨论】:

    标签: sinon


    【解决方案1】:

    您也必须将 withArgs 添加到断言中,如下所示:

    var mySpy = sinon.spy();
    mySpy.withArgs("foo");
    
    mySpy("bar");
    
    expect(mySpy.withArgs("foo").callCount).to.be(0);
    

    【讨论】:

    • 或者在自动验证模拟的上下文中使用类似这样的模拟:this.mock().withArgs("foo"),或者您可以手动验证它们。
    • 而且我希望它仅在提供某些参数时才返回一个值。但它的行为似乎有所不同。无论参数是什么,都返回值
    • 我的意思是stub().withArgs('foo').returns('bar')
    猜你喜欢
    • 2018-07-19
    • 2020-10-21
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 2019-04-18
    相关资源
    最近更新 更多