【发布时间】:2022-02-02 22:10:00
【问题描述】:
我正在使用 NestJS + MikroORM 堆栈并尝试使用 Jest 编写测试。
在user.service.spec.ts 上,我总是收到以下错误:
Nest 无法解析 UserService (?) 的依赖关系。请确保索引 [0] 处的参数 UserRepository 在 RootTestModule 上下文中可用
user.service.spec.ts:
describe('UserService', () => {
let userService: UserService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [
UserService,
{
provide: getRepositoryToken(User),
useValue: {
find: jest.fn().mockResolvedValue([]),
findOneOrFail: jest.fn().mockResolvedValue({}),
create: jest.fn().mockReturnValue({}),
save: jest.fn(),
update: jest.fn().mockResolvedValue(true),
delete: jest.fn().mockResolvedValue(true),
},
},
],
}).compile();
userService = module.get<UserService>(UserService);
});
it('should be defined with dependencies', () => {
expect(userService).toBeDefined();
});
});
user.repository.ts:
@Repository(User)
export class UserRepository extends EntityRepository<User> {}
为什么会这样?根据所有其他教程,它应该可以工作。谢谢。
【问题讨论】: