使用基于属性的模型的get方法进行存根

时间:2014-10-10 08:23:40

标签: javascript ruby-on-rails backbone.js sinon

fileModel=new Backbone.Model({
"filename":"HigResolution4.jpg",
"uuid":"798643982",
"uploaded_by":"xyz",
"pixel_width":800
});
filenameStub=sinon.stub(fileModel,'get("filename")',function(){
return 'filename';
});
fileuuidStub=sinon.stub(fileModel,'get("uuid")',function(){
 return 'uuid';
});

我正在使用sinon.js对BackBone脚本进行单元测试。我想根据模型的属性存根一个方法。任何人都可以帮助我解决我正在做的错误。

1 个答案:

答案 0 :(得分:1)

如果要检查属性,则需要在存根上使用withArgs函数。

From the docs

  

stub.withArgs(arg1 [,arg2,...]);

     

仅为提供的参数存储方法。这很有用   在你的断言中更具表现力,你可以通过它来访问间谍   同一个电话。创建可以执行操作的存根也很有用   不同的回应不同的论点。

使用您的示例:

var getStub = sinon.stub(fileModel, 'get');
getStub.withArgs('filename').returns('filename');
getStub.withArgs('uuid').returns('uuid');