【发布时间】:2022-01-14 00:41:01
【问题描述】:
我正在编写一个如下所示的测试:
import { getAllUsers } from "./users";
import { getMockReq, getMockRes } from "@jest-mock/express";
import User from "../../models/User";
jest.mock("../../models/User", () => ({
find: jest.fn(), // I want to change the return value of this mock in each test.
}));
describe("getAllUsers", () => {
test("makes request to database", async () => {
const req = getMockReq();
const { res, next, clearMockRes } = getMockRes();
await getAllUsers(req, res, next);
expect(User.find).toHaveBeenCalledTimes(1);
expect(User.find).toHaveBeenCalledWith();
});
});
在 jest.mock 语句中,我正在创建一个导入的“用户”依赖项的模拟,专门用于 User.find() 方法。我想做的是在我编写的每个测试中设置 User.find() 方法的返回值。这可能吗?
This SO question is similar,但我的问题是我无法单独导入“查找”方法,它只能打包在用户依赖项中。
【问题讨论】:
标签: javascript jestjs mocking