私はいくつかの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')
しかし、それは私にレンダリングの最初の呼び出しを取得するだけです。