【问题标题】:TypeError: jest.mock is not a function errorTypeError: jest.mock 不是函数错误
【发布时间】:2021-09-13 16:55:00
【问题描述】:

我收到一个错误

TypeError: jest.mock is not a function - 我在这里进行测试。有人帮我整理一下吗?

enter link description here

我的测试代码:

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


    【解决方案1】:

    CodeSandbox 确实不支持 jest 手动模拟、快照保存、jest 配置和代码覆盖。见issue#513

    【讨论】:

      猜你喜欢
      • 2014-11-18
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 2014-04-17
      • 2020-07-29
      相关资源
      最近更新 更多