【发布时间】:2021-09-13 16:55:00
【问题描述】:
我收到一个错误
TypeError: jest.mock is not a function - 我在这里进行测试。有人帮我整理一下吗?
我的测试代码:
import { render, waitFor } from "@testing-library/react";
import { screen } from "@testing-library/dom";
import { mocked } from "ts-jest/utils";
import App from "./App";
import { getUsers } from "./userService";
//import apiForUserName from "../src/__mocks__/API";
const url = "https://jsonplaceholder.typicode.com/users";
jest.mock("./userService");
const mockGetUsers = mocked(getUsers, true);
describe("get username using promise", () => {
beforeEach(() => {
mockGetUsers.mockClear();
});
beforeEach(async () => {
render(<App baseURL={url} />);
await waitFor(() => expect(mockGetUsers).toHaveBeenCalled());
});
it("should call getUsers once", async () => {
render(<App baseURL={url} />);
await waitFor(() => expect(mockGetUsers).toHaveBeenCalledTimes(1));
});
it("should render the username", async () => {
const name = "John";
mockGetUsers.mockImplementationOnce(() =>
Promise.resolve({ username: name })
);
render(<App baseURL={url} />);
expect(screen.queryByText(/username/)).toBeNull();
expect(await screen.findByText(/name/)).toBeInTheDocument();
screen.debug();
});
});
【问题讨论】:
标签: reactjs unit-testing jestjs react-testing-library