Я обновил с angular2 до angular6 и вижу некоторые разрывы для модульного теста.
- В этом тестовом модуле используется компонент DataTable, который использует "templateUrl" или "styleUrls", но они никогда не были скомпилированы.Пожалуйста, позвоните "TestBed.compileComponents" перед началом теста.
Я хочу проверить AccountManagementComponent, который использует некоторые директивы в SharedModule и AccountModule.
Это мой код:
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
imports: [SharedModule, AccountModule]
}).compileComponents();
fixture = TestBed.createComponent(AccountManagementComponent);
fixture.detectChanges();
});
MokBackend: это не работает, я знаю, что нужно изменить, чтобы использовать HttpClientTestingModule, но я не знаю, как это работает для моего случая.
beforeEach(inject([MockBackend], (mockBackend: MockBackend) => {
Connection(mockBackend);
}));
function Connection (mockBackend){
mockBackend.connections.subscribe((connection:MockConnection) => {
if (connection.request.url == '/accounts') {
connection.mockRespond(new Response(
new ResponseOptions({
body: JSON.stringify([])
}
)));
}
});
}
Я искал и пробовал много решений, но это не работает.Кто-нибудь есть опыт, не могли бы вы помочь мне решить, спасибо.