2016-10-06 4 views
3

Я новичок Жасмин с Угловым 2, я часто работаю с объектом Testbed когда сочинительство в TestCase и получают ошибку: Please call "TestBed.compileComponents" before your test.Что TestBed в Жасмине

Как решить эту ошибку?

@Component({ 
    moduleId:module.id, 
    selector: 'my-app', 
    templateUrl: 'app-component.html', 

}) 
+0

Вы пытались вызвать 'TestBed.compileComponents()'? «TestBed» - это макетная среда для запуска тестов компонентов Angular2 без браузера. –

+0

Да, но теперь это говорит об ошибке: не удается создать компонент AppComponent, поскольку он не был импортирован в модуль тестирования! – fruitjs

+0

Вы проверили https://angular.io/docs/ts/latest/guide/testing.html –

ответ

7

Please call "TestBed.compileComponents" before your test

Этот вызов необходим при тестировании компонентов с использованием templateUrl

Error: Cannot create the component AppComponent as it was not imported into the testing module!

Вам нужно настроить TestBed перед каждым испытанием, добавляя любые компоненты, модули и услуги, необходимые для проведения испытания. Это похоже на настройку обычного @NgModule с нуля, но вы просто добавляете то, что вам нужно.

import { async, TestBed } from '@angular/core/testing'; 

beforeEach(async(() => { 
    TestBed.configureTestingModule({ 
    declarations: [ AppComponent ], 
    providers: [], 
    imports: [] 
    }) 
    .compileComponents(); 
})); 

it('...',() => { 
    let fixture = TestBed.createComponent(AppComponent); 
}); 

Смотрите также

+0

Почему мы используем TestBed? – fruitjs

+2

Настройка модуля для тестовой среды. –