Nest 无法解析 (?) 的依赖项。请确保索引 [0] 处的参数在 RootTestModule 上下文中可用
Nest can't resolve dependencies of the (?). Please make sure that the argument at index [0] is available in the RootTestModule context
我尝试 运行 NestJs 测试但出现以下错误
Nest can't resolve dependencies of the (?). Please make sure that the argument at index [0] is available in the RootTestModule context.
此项目正在使用 Mongoose 连接到 MongoDB
您可以通过 运行 此存储库中的代码重现错误
https://github.com/kruyvanna/nestjs-test-error
提前致谢
你会得到这个错误,因为你有以下模块:
const module: TestingModule = await Test.createTestingModule({
providers: [CatService],
}).compile();
和这个提供者:
@Injectable()
export class CatService {
constructor(@InjectModel(Cat.name) private catModel: Model<CatDocument>) {}
}
并且无法判断 catModel
的值是多少,因为其提供商令牌未在测试模块中注册。
要解决这个问题,您可以注册它 like the docs show
const module: TestingModule = await Test.createTestingModule({
providers: [CatService, { provide: getModelToken(Cat.name), useValue: jest.fn() }],
}).compile();
我尝试 运行 NestJs 测试但出现以下错误
Nest can't resolve dependencies of the (?). Please make sure that the argument at index [0] is available in the RootTestModule context.
此项目正在使用 Mongoose 连接到 MongoDB
您可以通过 运行 此存储库中的代码重现错误 https://github.com/kruyvanna/nestjs-test-error
提前致谢
你会得到这个错误,因为你有以下模块:
const module: TestingModule = await Test.createTestingModule({
providers: [CatService],
}).compile();
和这个提供者:
@Injectable()
export class CatService {
constructor(@InjectModel(Cat.name) private catModel: Model<CatDocument>) {}
}
并且无法判断 catModel
的值是多少,因为其提供商令牌未在测试模块中注册。
要解决这个问题,您可以注册它 like the docs show
const module: TestingModule = await Test.createTestingModule({
providers: [CatService, { provide: getModelToken(Cat.name), useValue: jest.fn() }],
}).compile();