0
私はjest
でテストしたい次の機能を持っています。呼び出された疑似モック関数が必要です。しかし、それは呼ばれていませんでした。 Jest
import * as pointsAwardingApi from '../api/pointsAwardingApi';
export function awardPoints(pointsAwarding) {
return function (dispatch) {
return new Promise((resolve, reject) => {
pointsAwardingApi.awardPoints(pointsAwarding);
});
};
}
次に、次のテストを作成しました。
import * as pointsAwardingApi from '../../../src/api/pointsAwardingApi';
it("should call award points api",() => {
//given
pointsAwardingApi.awardPoints = jest.fn();
let dispatcher = pointsAwardingActions.awardPoints({phone: '555'});
//when
dispatcher(mockedDispatch);
//then
expect(pointsAwardingApi.awardPoints).toBeCalledWith({phone: '555'});
});
ただし、テストを実行すると、次のエラーが発生します。
expect(jest.fn()).toBeCalledWith(expected)
Expected mock function to have been called with: [{"phone": "555"}]
But it was not called.
私はこれがPromise
の問題ですが、私はそれを修正する方法を見つけ出すことはできないと思います。
私は 'spyOn'がどのように動作しているかを理解するのに苦労しています。どのオブジェクトにこれを追加しましたか? –
「スパイする」オブジェクトと関数を引数として渡すだけです。次に、その関数を渡す 'expect'を呼び出して、' toBeCalledWith'を使って呼び出されたかどうかを調べることができます。上記の質問を見てください。 – alayor