使用Sinon对get方法进行存根

时间:2015-02-17 19:52:14

标签: javascript unit-testing sinon

我试图使用属性

来存储对象的get方法

工作正常:

sinon.stub(input.model, 'get');
input.model.get.returns(10);

但请考虑是否需要在对象中存根某些特定属性,

例如:

input.model.get('yourValue') 

↪这怎么可以被打断?有什么想法吗?

1 个答案:

答案 0 :(得分:8)

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'