以下のように、React Component で AXIOS を使用して ajax 呼び出しを試みました。
let that = this;
this.serverRequest = axios({
url: '/login',
method: 'post',
data: JSON.stringify({ userName: "testing", passWord: "passWord" }),
headers: {
"Content-Type": 'application/json; charset=utf-8'
}
}).then(function (successData) {
localStorage.setItem('userData', JSON.stringify(successData.data));
this.setState({
successMsge: "Valid credentials"
});
}).catch(function(errorData){
this.setState({
errorMessage: errorData.data.message,
errorDisplay: true
});
}.bind(that));
React コンポーネントは完全に動作します。JEST で上記のコンポーネントをモックしようとすると、エラーが表示されます。
以下にJESTコードを添付しました。
expect(axios).toBeCalledWith({
type: 'POST',
baseURL: '/login',
data: JSON.stringify(dataParams),
headers: {
"Content-Type": 'application/json; charset=utf-8'
}
});
npm jest を実行すると、上記のコンポーネントに対して以下のエラーが発生します
- TypeError: Cannot read property 'baseURL' of undefined
at Axios.request (node_modules\axios\lib\axios.js:32:13)
JESTで上記のエラーを解決するのを手伝ってくれる人はいますか