4

以下のように、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で上記のエラーを解決するのを手伝ってくれる人はいますか

4

0 に答える 0