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