【发布时间】:2021-05-25 23:40:40
【问题描述】:
我正在尝试为使用 useEffect 和 use/createContext 的自定义钩子创建一个模拟,最终只返回如下所示的内容:
[{ users: 0, hoursTested: 0, testDrives: 0 }, null];
我的代码如下:
import React from "react";
import { render, screen } from "@testing-library/react";
import BetaResults from "./BetaResults";
var mockResults = [{ users: 0, hoursTested: 0, testDrives: 0 }, null];
jest.mock("services/EAPStats/useEAPStats", () => {
console.log("In Mock");
return jest.fn(() => {
console.log("In jest.fn");
console.log("mock results", mockResults);
return mockResults;
});
});
test("renders BetaResults", async () => {
mockResults = [{ users: 10, hoursTested: 10, testDrives: 10 }, undefined];
render(<BetaResults />);
expect(screen.getAllByTestId("BetaResultsHeaderText").length).toEqual(1);
});
当我执行测试时收到此错误:
Error: Uncaught [TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))]
执行永远不会到达用 jest.fn 定义的函数。我忽略了什么?
【问题讨论】:
标签: reactjs jestjs react-hooks react-testing-library