我想重新存根someHandler.getStatus
,但我得到了TypeError: Attempted to wrap getStatus which is already wrapped
..
it('is a test', function() {
sandbox.stub(someHandler, 'getStatus', function(callback) {
callback(null, {
value: 1
});
});
sandbox.stub(someOtherHandler, 'doSomething', function(callback) {
callback(null);
});
sandbox.stub(someHandler, 'getStatus', function(callback) {
callback(null, {
value: 0
});
});
});
Sinon 有一个很好的 API 来处理多个调用(stub.onCall(n);)
到相同的存根方法。
示例来自存根 API 文档 http://sinonjs.org/docs/#stubs:
"test should stub method differently on consecutive calls": function () {
var callback = sinon.stub();
callback.onCall(0).returns(1);
callback.onCall(1).returns(2);
callback.returns(3);
callback(); // Returns 1
callback(); // Returns 2
callback(); // All following calls return 3
}
您还可以使用onFirstCall()
, onSecondCall()
, and onThirdCall()
.
我们在测试中广泛使用这种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)