在 NestJS 中使用 Jest 和 MongoDB 进行单元测试

Posted

技术标签:

【中文标题】在 NestJS 中使用 Jest 和 MongoDB 进行单元测试【英文标题】:Unit test in NestJS with Jest with MongoDB 【发布时间】:2018-09-30 06:55:17 【问题描述】:

我正在使用 Jest 在框架 NestJS 中实现单元测试。当我启动测试时,会发生此错误:

我的测试文件是这样的:

我的 app.module.ts 是:

我的 usuario.controller.ts 是:

我的 usuario.service.ts 是:

我的 usuario.squema.ts 是:

我认为问题是在解决测试文件中的依赖注入时,nestjs的模型(@InjectModel of user.service.ts)的注入。

【问题讨论】:

欢迎来到 SO。请查看此处了解如何改进您的问题(格式化、校对、提供代码等):***.com/help/how-to-ask 并内联发布您的代码,而不是作为屏幕截图。 【参考方案1】:

我不知道您使用的是哪个版本的 mongoose,但是,正如错误所述,mongoose.Schema 可能不是构造函数。

来自猫鼬 v5.0.16 的Getting Started:

var kittySchema = mongoose.Schema( name: String );

【讨论】:

以上是关于在 NestJS 中使用 Jest 和 MongoDB 进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jest 在 NestJS 的提供者中模拟和监视“mongoose.connect”

如何用 jest 在服务 (NestJS) 中测试模型 (Mongoose)

如何使用 Jest 和 NestJS 模拟 Mongoose 的“lean()”查询?

用 jest @nestjs 运行 e2e 测试

NestJS Jest 找不到具有绝对路径的模块

用 Jest 测试 NestJs 服务