#reactjs #react-redux #redux-saga #redux-saga-test-plan
Вопрос:
У меня есть сага, в которой есть некоторая логика обработки ошибок — я хочу проверить, что вызов выполняется три раза, и предоставить ответ на каждый вызов. Вариант использования заключается в том, что сага повторяет первые две ошибки, прежде чем сдаться, поэтому мне нужна последовательность ответов: [сбой, сбой, успех]
it("must succeed after the first two requests are failures", () =>
expectSaga(
sagaToTest
).provide([
[
call(getdata, request),
throwError(new Error("oops")) // do this twice and succeed on the third invication
]
])
.call(getdata, request)
.call(getdata, request)
.call(getdata, request)
.put(actions.itSucceeded("message"))
.run());
});
Это просто в других библиотеках тестирования / насмешек, но по какой-то причине я не могу найти правильную документацию.
Спасибо!
Комментарии:
1. Я не знаю удобной утилиты, но для этого я использую статические поставщики с динамическими значениями (очень запутанные имена): github.com/jfairbank/redux-saga-test-plan/blob/master/docs/…
2. к сожалению, я пришел к тому же выводу. Я смог проверить количество звонков, используя a
not
после моих ожидаемых звонков. динамические поставщики кажутся единственным жизнеспособным вариантом, но похоже на взлом