node.js - 错误找不到模块,正在测试 Nestjs 服务
问题描述
我在 Nestjs 上测试服务时遇到了困难,我相信这与我对依赖注入如何进行测试缺乏了解有关,奇怪的事情只是在测试中出现错误。我有 3 个模块 Teste、Teste2、Teste3,Teste2 导入 Teste3 服务,Teste 导入 Teste2 服务。我尝试导出 Teste2 和 Teste3,并导入它们的模块,当我运行 npm start 时工作正常。对测试思想不起作用...
睾丸
@Module({
imports: [],
providers: [ TesteService,Teste2Service],
exports: [TesteService],
controllers: [TesteController]
})
export class TesteModule {}
@Injectable()
export class TesteService {
constructor(private teste2Service: Teste2Service){}
teste(){
return this.teste2Service.hello();
}
}
睾丸2
@Module({
imports: [Teste3Module],
providers: [Teste2Service],
exports: [Teste2Service]
})
export class Teste2Module {}
@Injectable()
export class Teste2Service {
constructor(private teste3Service: Teste3Service){}
hello(){
return this.teste3Service.hello();
}
}
睾丸3
@Module({
providers: [Teste3Service],
exports: [Teste3Service]
})
export class Teste3Module {}
@Injectable()
export class Teste3Service {
hello(){
return 'Hello World';
}
}
实际测试
describe('TesteService', () => {
let service: TesteService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports:[Teste2Module],
providers: [TesteService],
}).compile();
service = module.get<TesteService>(TesteService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
错误 src/teste/teste.service.spec.ts
Cannot find module 'src/teste2/teste2.service' from 'teste.service.ts'
解决方案
E2E 找不到绝对路径。更改为相对路径:../src/teste2
推荐阅读
- php - 使用php pdo更新查询mysql中的多个表还检查数据库关系
- r - 如何在 r 中动态更新选择输入的选择
- docker - 暴露 Docker 端口的问题
- sql-server - 从日期范围内获取数据
- excel - Pandas 和 Openpyxl 覆盖 excel
- javascript - 如何在角度 4 中使用 *ngFor 创建每行 2 列的表
- android - 使用 Glide 和 FireBase 存储和显示图像 android
- javascript - 将 Angular 6 应用程序作为简单的 JS 文件集成到现有的 HTML 站点中
- c++ - 从 1.42 升级到 1.61
- python - 从 async.subprocess.PIPE 读取