【发布时间】:2021-01-10 16:02:25
【问题描述】:
我正在尝试测试一个 React 表组件(它使用异步 API 调用来返回表数据),但无法弄清楚如何模拟 API 调用以满足我的 React 测试文件。我有一个模拟数据文件来提供模拟数据。 (我只包含了相关代码)。
模拟数据:
const mockRequestData = [
{
"email": "runner1@test.com",
"firstName": "runner1",
"lastName": "runner1"
},
{
"email": "runner2@test.com",
"firstName": "runner2",
"lastName": "runner2"
},
{
"email": "runner3@test.com",
"firstName": "runner3",
"lastName": "runner3"
},
];
export const mockData = {
mockData: mockRequestData,
};
apiCall 在自己的文件中:
const getAllAthletesSigningUp = async () => {
let athletesSigningUp= [];
const response = await returnGetResponse("/api/atheletesignup");
if (response.status === 200) {
return athletesSigningUp= (response.body);
}
return athletesSigningUp
};
export {getAllAthletesSigningUp};
runnerTable 应用:
const [requests, setRequests] = useState([]);
useEffect( () => {
apiResponse();
},[]);
const apiResponse = async () => {
return setRequests(await getAllAthletesSigningUp ())
}
<div className={"table_content"}>
{
requests.map((request, index) => {
return (
<>
<div key={index} className={"table_row"} data-testid={"tableRow"}>
<p>{formatText(request.email)}</p>
<p>{formatText(request.firstName)}</p>
<p>{formatText(request.lastName)}</p>
【问题讨论】:
标签: reactjs user-interface async-await jestjs