我是测试新手,谁能指导我如何测试上下文。 我在函数内部调用了 API 如何使用 jest 或 react 测试库测试响应或函数。
CodesandBox 链接:Code
上下文 API 文件
我在 userDataFunc 中调用 API 的地方,我想测试该函数是否存在以及它的响应是成功响应还是捕获响应
import React, { Component, createContext } from "react";
import axios from "axios";
export const globalC = createContext();
export class Gprov extends Component {
state = {
authLogin: null,
authLoginerror: null,
count: 1,
user: null
};
componentDidMount() {}
userDataFunc = async () => {
await axios(`https://jsonplaceholder.typicode.com/users`)
.then((res) => {
if (res.status === 200) {
this.setState({
userData: res.data
});
}
})
.catch((err) =>
this.setState({
userDataerror: err
})
);
};
handleChange = (e) => {
this.setState({ [e.target.name]: e.target.value });
};
handleSubmit = (e) => {
e.preventDefault();
this.setState({
user: this.state.username
});
};
render() {
return (
<globalC.Provider
value={{
...this.state,
loginData: this.loginData,
handleChange: this.handleChange,
handleSubmit: this.handleSubmit,
userDataFunc: this.userDataFunc
}}
>
{this.props.children}
</globalC.Provider>
);
}
}