Javascript 单元测试base.js类

Javascript 单元测试base.js类,javascript,jquery,unit-testing,qunit,sinon,Javascript,Jquery,Unit Testing,Qunit,Sinon,我正在测试一些base.js代码,并希望测试是否使用特定的参数调用一些基本函数。我们的测试堆栈看起来像js代码、qunit、sinon。例如,我有: var Foo = Base.extend({ constructor: function () { //do constructor stuff }, render: function (config) { config = config || {}; //do rende

我正在测试一些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方法。条形渲染方法指定一些配置并将其传递给父渲染方法。是否有任何方法可以使用sinon.js监视该基本渲染调用?我通常会这样做:

sinon.spy(b, 'render')

但这只会让我得到渲染的初始调用。

可能重复感谢@PaulSweatte,但我认为这些问题并不相关。我认为我的问题更多的是关于测试base.js类的细节,而不是关于sinon的问题。Sinon与其他经典继承实现(如和)一起工作,因此我不明白为什么它在这个实例中不起作用。