node.js - 如何用 es6(没有打字稿)开玩笑地模拟 Prisma 客户端?
问题描述
Prisma 文档有模拟客户端和使用 jest 和 typescript 进行单元测试的示例。有没有办法在不使用 TypeScript 的情况下开玩笑地模拟客户端?
如果您能举一个简单的例子,我将不胜感激。
补充一点:我在我的项目中使用了所有使用 prisma 的函数的依赖注入。
解决方案
我现在的解决方案:我手动模拟数据库对象并将其传递给使用它的函数:我不确定这有多大用处,但它有助于避免调用真实数据库。
const mocked_db = {
user: {
findFirst: jest.fn(() => Promise.resolve(
{
id: 2,
first_name: "Basel",
last_name: "Akasha"
}
))
}
}
it("It should work blah blah bla", async () => {
let user_details= {
id: 2,
first_name: "Basel",
last_name: "Akasha"
}
let signup = await getUser(
mocked_db // takes thew DB object is a parameter (normally you would pass your Prisma client instance)
)
await expect(.... // whatever you'r expect is
})'
推荐阅读
- c++ - 为什么我在这个 Karatsuba 乘法中出现逻辑错误?
- react-native - animatable 不断使视图增长
- fluentvalidation - 如何使用 FluentValidation 验证集合中的不同类型?
- python - 如何在不将多个标题副本创建到行中的情况下附加到 csv 文件?
- delphi - 如何通过 ScanLine 复制灰度位图
- groovy - groovy 遍历键和值列表
- tsql - 按分区准确排序日期名称
- linux - Crontab - *、*/1 和 0-59/1 之间的差异
- vb.net - 如何获取在 Windows.Forms PictureBox.Image 中查看的图像的原始大小
- r - 过滤具有多个条件的data.frame而不写出它们