if文の中の関数をテストするか、try/catchを試しますか?例えば、if文内でredux-sagaをテストし、実際の値を使用
export function* onFetchMessages(channel) {
yield put(requestMessages())
const channel_name = channel.payload
try {
const response = yield call(fetch,'/api/messages/'+channel_name)
if(response.ok){
const res = yield response.json();
const date = moment().format('lll');
yield put(receiveMessages(res,channel.payload,date))
}
} catch (error){
yield put(rejectMessages(error))
}
}
は、私はそれ以外の場合はエラーがスローされます、入力それが実行に従う利回りのための有効な応答を返すようにするために、実際にデータベースに存在し、実際のチャンネル名にする必要があります。さらに、エラーメッセージが表示され、未定義のプロパティjsonを読み取ることができないため、このエラーメッセージのためにその後のyieldに到達できません。 私の最初の問題は 'if(response.ok)'ですが、削除してもresponse.json()はエラーを返します。 誰かが私にこれらのテスト方法を教えてもらえれば、非常に感謝します。
ありがとう、mocking okプロパティの応答は計画のようですが、どうすればいいでしょうか?最後のセクションをコード化することができれば、それは素晴らしいでしょう(実際に重要な部分です) – mtangula
は、saga.next : 本当の価値 – andresmijares25