聞きたいこと
Jestを用いてテストコードを書いています。あるイベントを実行した際に、
- APIへのリクエスト送信
- APIからのレスポンスに含まれる
ID
をもとに画面遷移(例: http://localhost/page/12334) ※ 12334の部分がIDです
ができるかテストしたいと思っています。
ただ、APIからのレスポンスに含まれるIDが常に変化してしまうので、APIからIDを取得する部分をモックにしようと思っているのですが、
どのように既存のイベントを発火する関数に組み込めばいいのか見当がつかないです。
下のソースコードだと、handleClicik
内に存在している fetchDataFromAPI()
から IDとstatusを含むオブジェクトを返すようなモックを作成し、
そのモックのレスポンスをもとに画面遷移ができているか確認するテストを書きたいと思っています。
import React * as from react import useHistory from 'react-router-dom' const App = () => { history = useHistory(); const handleClick = () => { const response = await fetchDataFromAPI(); if (response.status === 200) { history.push(`localhost/page/${response.data.id}`) } } return ( <> <button onClick={handleClick}>Click</button> </> ) }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。