【发布时间】:2015-06-20 17:52:17
【问题描述】:
假设我有一个自定义主干模型。
var model = Backbone.Model.extend({
initialize: function(parameters) {
var object = {
key: parameters.key
};
this.callMethod();
this.collection = new Backbone.Collection();
},
callMethod: function() {
//code I want to test
}
});
如何在不设置所有这些对象或任何其他与使用 QUnit 和 Sinon 的测试无关的东西的情况下测试该模型的新实例?我应该在初始化模型之前以某种方式存根这个初始化方法吗?使用这两个库的正确方法是什么?
感谢您的宝贵时间。
【问题讨论】:
-
我只想指出你的标题有点不对劲,你不是在尝试存根构造函数而是初始化。那是两个different 的东西。是的,你应该在初始化一个新模型之前存根它,存根不是时间机器 :) 至于 Sinon,我用得不多,但看起来很简单:sinonjs.org/docs/#stubs
-
称我为哑巴,但我只是不明白你如何存根尚未创建的对象的方法?基本存根看起来像这样 stub = sinon.stub(object, 'methodName')。在初始化之前我找不到存根的例子。
-
哦,对了,这是一个很好的观点,因为我忙于混淆构造函数/初始化,所以我没有考虑到这个含义。我会尝试在原型上存根它(即在做
new model()之前尝试存根model.prototype.initialize) -
原型存根工作。谢谢
标签: backbone.js qunit sinon