使用 Sinon 存根 get 方法
Stubbing a get method using Sinon
我正在尝试对具有属性的对象的 get 方法进行存根,
工作正常:
sinon.stub(input.model, 'get');
input.model.get.returns(10);
但考虑我们是否需要在对象中添加一些特定的 属性,
例如:
input.model.get('yourValue')
↪ 这怎么能打桩呢?有什么想法吗?
stub.withArgs() 应该做你想做的。参见 http://sinonjs.org/docs/#stubs。
sinon.stub(input.model, 'get').withArgs('yourValue').returns(10);
Sinon 从 changed 开始就有这个语法:
class Foo {
get bar() {
return 'yolo';
}
}
const myObj = new Foo();
sinon.stub(myObj, 'bar').get(() => 'swaggins');
myObj.bar; // 'swaggins'
我正在尝试对具有属性的对象的 get 方法进行存根,
工作正常:
sinon.stub(input.model, 'get');
input.model.get.returns(10);
但考虑我们是否需要在对象中添加一些特定的 属性,
例如:
input.model.get('yourValue')
↪ 这怎么能打桩呢?有什么想法吗?
stub.withArgs() 应该做你想做的。参见 http://sinonjs.org/docs/#stubs。
sinon.stub(input.model, 'get').withArgs('yourValue').returns(10);
Sinon 从 changed 开始就有这个语法:
class Foo {
get bar() {
return 'yolo';
}
}
const myObj = new Foo();
sinon.stub(myObj, 'bar').get(() => 'swaggins');
myObj.bar; // 'swaggins'