函数我正在监视,接收对象作为参数.我需要声明函数是使用对象的某些属性调用的.
例如:我的SUT有:
function kaboom() {
fn({
foo: 'foo',
bar: 'bar',
zap: function() { ... },
dap: true
});
}
Run Code Online (Sandbox Code Playgroud)
在我的测试中,我可以这样做:
fnStub = sinon.stub();
kaboom();
expect(fnStub).to.have.been.called;
Run Code Online (Sandbox Code Playgroud)
这是有效的(很高兴知道fn被称为).现在我需要确保已将正确的对象传递给函数.我只关心 foo和bar属性,即我必须为参数的特定属性设置匹配.怎么样?
upd:sinon.match()似乎适用于简单对象.我们提高吧,不是吗?
如果我想将zap函数包含在断言中怎么办?我该如何工作?