我正在嘗試對 NestJS API 中的某些功能進行單元測驗。
我利用nestjsx-automapper. 只有在測驗使用映射的任何服務時才會發生例外。我使用@nestjs/testing和jest。我已成功復制此測驗中的錯誤:
describe('UserController', () => {
let userServiceInterface: UserServiceInterface;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
imports: [AutomapperModule.withMapper('user')],
providers: [
{
provide: 'UserServiceInterface',
useClass: UserService,
},
],
}).compile();
userServiceInterface = app.get<UserServiceInterface>(
'UserServiceInterface',
);
});
describe('find', () => {
it(`should return user with name 'pipo'`, () => {
const user = userServiceInterface.find('pipo');
expect(user.username).toBe('pipo');
});
});
});
我一直在尋找配置組態檔的不同方法,但匯入它們是我找到的唯一方法。
提前致謝。
uj5u.com熱心網友回復:
我想出了 nestjsx-automapper 如何加載組態檔。由于您無法在模塊中提供組態檔,因此您依賴于應用程式首先運行組態檔,并且它由來自 nestjsx-automapper 的 AutomapperModule 處理。
我不知道為什么 nest 模塊會加載 AutomapperModule 并因此加載組態檔,但測驗模塊不會,我將不得不更多地使用 nest 來理解它。
要告訴測驗模塊在初始化時加載 AutomapperModule(因為它們默認不加載),請使用:
moduleRef.get(AutomapperModule).onModuleInit();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/360617.html
上一篇:熱重置Spock中的方法模擬?
