我开始围绕应用程序中的prisma(v3.6.0)用法编写测试。
为此,我遵循了官方Prisma页面Unit testing with prisma,我正在使用jest-mock-extended
。
我的问题是,我有一个 typescript 错误时,使用mosed prisma函数:
describe('User routes', () => {
it('should respond success with array of users', async () => {
prismaMock.user.findMany.mockResolvedValue([]); // <- here is the error
}
}
Type of property 'AND' circularly references itself in mapped type
在使用prisma进行github测试时,有一些关于这个问题的讨论。我从讨论中得到了3个选项:
- 在tsconfig.json中添加
"skipLibCheck": true
。这破坏了我的代码中的一些内容,并且没有解决我的问题 - 添加
"strictNullChecks": true
,也没有影响 //@ts-ignore
这有效地消除了错误,测试运行顺利
虽然我可以进行测试,但我不希望在测试中忽略这个错误,忽略错误只是一个好主意,除非它不是。
是否有人对此问题有更多信息或建议?
1条答案
按热度按时间qvtsj1bj1#
谢谢你的帖子,我自己也要打开一个,我的理解是这是由于对prisma库进行了TS检查,对我有效的修复是将这些添加到TS配置中:
我知道“skipLibCheck”可能会破坏您代码中的内容,但我认为这可能是正确的方法,因为它将减少编译时间,并且检查第三方库(假设它们是第三方d.ts文件)“通常”没有必要。