我正在测试一些base.js(dean edwards base.js)代码,并想测试一些基本函数是否被特定参数调用。我们的测试堆栈看起来像 js 代码、qunit、sinon。例如,我有:
var Foo = Base.extend({
constructor: function () {
//do constructor stuff
},
render: function (config) {
config = config || {};
//do rendery stuff with specified config
}
});
var Bar = Foo.extend({
render: function () {
config = {a: 'a', b: 'b'};
this.base(config);
}
});
var b = (new Bar()).render();
所以在上面的例子中,我创建了一个“Bar”的新实例并调用了 render 方法。Bar 渲染方法指定一些配置并将其传递给父渲染方法。有什么方法(使用 sinon.js)来监视该基本渲染调用吗?我通常会做类似的事情:
sinon.spy(b, 'render')
但这只会让我第一次调用渲染。