2017-02-03 3 views
0

У меня есть приложение с угловым выражением (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], но это не кажется правильным.

+0

Вы можете дать нам полный выход с консоли? –

+0

@MezoIstvan Здесь вы можете найти https://drive.google.com/file/d/0B5ymVhu1SZm0d3pPQUhOT3RhaEk/view?usp=sharing (он слишком большой, чтобы вставлять сюда). – sax

ответ

0

В конце концов проблема с тестовой изоляцией была вызвана функцией beforeEach(), определенной из describe() области в некоторых тестах. Это привело к тому, что эти beforeEach() были запущены для всех тестов в наборе, и я столкнулся с побочным эффектом, описанным выше.

Смежные вопросы