0
私はクラスAを持っており、私はeventHandlerメソッドをテストしたいと思います。"then"のsinonjsスタブ
class A() {
eventHandler (controller) {
controller.exec().then((() => {
this._afterHandler(); // I can't stub it.
}))
// this._afterHandler(); // I can stub it !!!
}
_afterHandler() {
xxxxx...;
}
}
これは私のテストコードです。 _afterHandlerメソッドをスタブすることはできません。その時の方法。しかし、私はメソッドを "then"の外側に移動します。私はそれをスタブすることができます。
it('xxxx',() => {
const a = new A();
const stub = sinon.stub(a,'_afterHandler');
a.eventHandler({ exec:() => {return Promise.resolve(1)} })
sinon.assert.calledOnce(stub);
});
_afterHandlerメソッドをスタブするにはどうすればよいですか?ありがとう~~