axios-mock-adapterでモックしたAPIへのリクエストが404になる
jestでテストを行う際、以下のように axios-mock-adapter
を利用してPost(or put)系APIのモックを作成していました。
const uesr = {...}; const mock = new MockAdapter(axios); const path = `https://dummy.url.com/api/v1/user/${userId}`; mock.onPost(path, { params: { user } }).reply(200, { uesr: uesr, });
上記の例はユーザを更新するAPIで、 onPost
の第二引数にパラメータとしてuserオブジェクトを渡していました。
しかし、このAPIに対してリクエストを送る処理で Request failed with status code 404
エラーが発生しテストが通りませんでした。
URLも送っているパラメータの値も一致しているはずなのに404になるのでどうしたものかと悩んでいたのですが、axios-mock-adapterのissueに答えがありました
const uesr = {...}; const mock = new MockAdapter(axios); const path = `https://dummy.url.com/api/v1/user/${userId}`; mock.onPost(path).reply(200, { uesr: uesr, });