首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nest无法解决(?)的依赖关系。请确保索引[0]处的参数在RootTestModule上下文中可用

Nest无法解决(?)的依赖关系。请确保索引[0]处的参数在RootTestModule上下文中可用
EN

Stack Overflow用户
提问于 2022-04-14 10:11:24
回答 1查看 15.5K关注 0票数 5

我试图运行NestJ测试,但得到了以下错误

Nest can't resolve dependencies of the (?). Please make sure that the argument at index [0] is available in the RootTestModule context.

本项目使用猫鼬连接到MongoDB。

您可以通过在这个repo https://github.com/kruyvanna/nestjs-test-error中运行代码来再现错误。

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-14 11:31:02

您将得到该错误,因为您有以下模块:

代码语言:javascript
运行
复制
const module: TestingModule = await Test.createTestingModule({
  providers: [CatService],
}).compile();

而这个提供者:

代码语言:javascript
运行
复制
@Injectable()
export class CatService {
  constructor(@InjectModel(Cat.name) private catModel: Model<CatDocument>) {}
}

而且没有办法知道catModel的值是什么,因为它的提供者令牌没有在测试模块中注册。

要解决这个问题,您可以注册它,就像医生的节目

代码语言:javascript
运行
复制
const module: TestingModule = await Test.createTestingModule({
  providers: [CatService, { provide: getModelToken(Cat.name), useValue: jest.fn() }],
}).compile();
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71869915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档