javascript - 开玩笑 mockImplementation 不是一个函数
问题描述
我有这个简化的 Jest 测试:
import login from "../../src/controller/auth/login";
import findUserByEmail from "../../src/api/db/find-user-by-email";
jest.mock("../../src/api/db/find-user-by-email");
const mockedfindUserByEmail = findUserByEmail as jest.Mocked<typeof findUserByEmail>;
describe("Login API", () => {
test('should return 401', async () => {
const req = {
email: "email@domain.com",
password: "password"
};
mockedfindUserByEmail.mockImplementation(async () => false)
expect(await login(req).status).toBe(401);
});
});
我从文档中得到了这个模拟。当我不模拟测试工作正常时,因为login
模块连接到数据库。但是当我使用上面的模拟时,我得到:
TypeError: findUserByEmail.mockImplementation is not a function
你能帮我吗?
通过电子邮件查找用户文件:
import { User } from "../../entities/main/user";
const db: any = require("../../db/models");
export default async (email: string)
: Promise<User> => {
return await db.user.findOne({
where: { email },
raw: true,
});
};
解决方案
推荐阅读
- python-3.x - 考虑两列计算平均值
- sql - 如果我们发送 null 或 "" 值,如何避免 Where 子句条件
- sql - 在 Ireports 设计器中计算在场、缺席和总体百分比的学生人数
- excel - VBA图表x轴不适合
- javascript - 根据网址的页脚高度?
- c# - 网络流不写入数据
- android - 文本输入内的 ImageButon 编辑文本而不会丢失浮动标签
- ios - 在文本字段中的图标和文本之间添加空格
- ballerina - 在 Ballerina 中对数组进行切片
- python - 连接中断:在 Heroku 上向 Django 发送请求时 IncompleteRead(0 字节读取)