Я пытаюсь настроить некоторые модульные тесты в моем приложении Angular 2/AngularCLI. Хотя приложение работает так, как ожидалось, тестирование показывает сбои.Компонентные тесты не тестируются Только компонент в моем приложении Angular 2?
Итак, для начала просто (или так я думал), я установил тестовый компонент, который я создал из командной строки (ng g c testr). Это создает базовый компонентный тест вместе с файлами компонентов. Когда я записываю CD в этот компонент, а затем запускаю этот встроенный тест с помощью «ng test», я получаю ошибки, связанные с другими компонентами в моем приложении. Это меня сбивает с толку, потому что я думал, что тесты отдельных компонентов были модульными тестами, поэтому они предназначены только для проверки этого конкретного компонента. Это пример теста для компонента:
/* tslint:disable:no-unused-variable */
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { TestrComponent } from './testr.component';
describe('TestrComponent',() => {
let component: TestrComponent;
let fixture: ComponentFixture<TestrComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TestrComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TestrComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create',() => {
expect(component).toBeTruthy();
});
});
Я предполагаю, что это должно работать «из коробки» - потому, что он настроен автоматически AngularCLI. Так почему же неудача? Я что-то упустил? Разве тестовый код здесь не предназначен для тестирования внутреннего компонента, а не его связи с другими компонентами приложения?
Вот пример одной из ошибок, которые я получаю. Ясно, что это для другого компонента целиком. И я получаю многочисленные ошибки, подобные этому для различных компонентов, только от запуска этого теста.
ERROR in ./src/app/app.component.ts
Module not found: Error: Can't resolve 'app/app.component.html' in '/Users/mko/Documents/abc-cli/abc-cli/cli-abc/src/app'
@ ./src/app/app.component.ts 77:22-55
@ ./src/app/app.component.spec.ts
@ ./src \.spec\.ts
@ ./src/test.ts
Вот еще одна ошибка снова, относящиеся к другому компоненту:
ERROR in ./src/app/views/client/client-panel.component.ts
Module not found: Error: Can't resolve 'app/views/client/client-panel.component.html' in '/Users/mko/Documents/abc-cli/abc-cli/cli-abc/src/app/views/client'
@ ./src/app/views/client/client-panel.component.ts 34:22-88
@ ./src/app/views/client/client-panel.component.spec.ts
@ ./src \.spec\.ts
@ ./src/test.ts
Если я кд в компонент и запустить «нг тест», делает или что не работает только модульный тест для этого компонента ? И, если нет, что мне нужно изменить, чтобы это просто запускало проверку отдельных компонентов, а не все из них?
Да, просто добавил его выше. Я получаю сообщения об ошибках для другого компонента кроме этого. Не знаю, почему. – Muirik
Извините, пожалуйста, уточните. Если я подключился к компоненту и запустил «ng test», выполняет ли это или не выполняет только модульный тест для этого компонента? И, если нет, что мне нужно изменить, чтобы это просто запускало проверку отдельных компонентов, а не все из них? – Muirik