У меня есть приложение с угловым выражением (2.4.5), созданное с использованием angular-cli (1.0.0-beta.26), и я испытываю трудности с тестированием. У меня есть простой компонент:Угловая 2 тестовая изоляция (ошибки шаблона)
import { Component } from '@angular/core';
@Component({
selector: 'app-empty',
templateUrl: './empty.component.html',
styleUrls: ['./empty.component.css']
})
export class EmptyComponent { }
(как .html и .css являются пустые файлы) и модульного тестирования:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { EmptyComponent } from './empty.component';
describe('EmptyComponent',() => {
let component: EmptyComponent;
let fixture: ComponentFixture<EmptyComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ EmptyComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(EmptyComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create',() => {
expect(component).toBeTruthy();
});
});
Когда npm run test
запускается тест завершается с ошибкой:
Uncaught Error: Template parse errors: Can't bind to 'value' since it
isn't a known property of 'app-detail-section-item'.
Это относится к другому компоненту, который также тестируется. Я не понимаю, почему этот другой компонент влияет на тест EmptyComponent? Это потому, что Webpack объединяет тесты вместе? Я ожидаю, что тесты будут изолированы. Я могу сделать тестовый проход, используя schemas: [NO_ERRORS_SCHEMA]
, но это не кажется правильным.
Вы можете дать нам полный выход с консоли? –
@MezoIstvan Здесь вы можете найти https://drive.google.com/file/d/0B5ymVhu1SZm0d3pPQUhOT3RhaEk/view?usp=sharing (он слишком большой, чтобы вставлять сюда). – sax