私はモカから冗談にスワッピングしていて、反応方法を偵察する方法があるのだろうかと思っています。例えば、私は私のコンポーネントで次のメソッドを持っていると言う(SDKライブラリを無視し、それだけでjqueryのAJAX呼び出しを構築する)ことができます:Jest spy on functionality
getData() {
sdk.getJSON('/someURL').done(data => {
this.setState({data});
});
}
sinonを使用して、私はそうのようなプロトタイプをスパイすることでこれをテストします:
をit('should call getData',() => {
sinon.spy(Component.prototype, 'getData');
mount(<Component />);
expect(Component.prototype.getData.calledOnce).to.be.true;
});
これは、メソッドを嘲笑せずにコードカバレッジを保証します。 jestにも同様の機能がありますか?
編集:また、この機能が存在しない場合、API呼び出しをテストするための次善策は何ですか?
これは同じ動作ではありません'sinon.spy'のように' getData'を上書きし、 'sinon.spy'と' jest.spyOn'も元のメソッドを呼び出します。 –
正解!答えを修正しました –