Я пытаюсь проверить, что мое действие по обработке ошибок вызывается, когда моя сага выдает ошибку.
Вот мой код саги:
function* createMenu({ values }) {
try {
do some stuff...
} catch (err) {
yield put(displayApiError(err));
}
}
А вот мой тестовый код:
const saga = createMenu(mockAction);
const mockError = 'err';
it('calls displayApiError()', () => {
saga.next();
const result = saga.throw(mockError);
expect(result.value).toEqual(put(displayApiError(mockError)));
});
И вот что я вижу в своем выводе шутки:
● createMenu › Failure › calls displayApiError()
expect(received).toEqual(expected)
Expected value to equal:
{"@@redux-saga/IO": true, "PUT": {"action": [Function anonymous], "channel": null}}
Received:
{"@@redux-saga/IO": true, "PUT": {"action": [Function anonymous], "channel": null}}
Difference:
Compared values have no visual difference.
Я предполагаю, что это проблема Function anonymous
. Я попытался выполнить обе сравниваемые функции самостоятельно, и они оба вызывают displayApiError
одинаково.
Так почему же тест по-прежнему не проходит?