我正在测试一些 base.js (dean edwards base.js)代码,并希望测试一些基本函数是否使用特定的args调用。我们的测试堆栈看起来像js code,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 render方法指定一些配置并将其传递给父渲染方法。有没有办法(使用sinon.js)监视那个基础渲染调用?我通常会这样做:
sinon.spy(b, 'render')
但这只能让我初步调用渲染。