Что такое TestBed в жасмине
Я новичок в Jasmine с Angular 2, я часто работаю с объектом TestBed при написании Testcase и получении ошибки:Please call "TestBed.compileComponents" before your test.
Как мне решить эту ошибку?
@Component({
moduleId:module.id,
selector: 'my-app',
templateUrl: 'app-component.html',
})
1 ответ
Решение
Пожалуйста, позвоните "TestBed.compileComponents" перед вашим тестом
Этот вызов необходим при тестировании компонентов с использованием templateUrl
Ошибка: невозможно создать компонент AppComponent, так как он не был импортирован в модуль тестирования!
Вам необходимо настроить TestBed
перед каждым тестом добавляйте любые компоненты, модули и сервисы, которые вам нужны для теста. Это похоже на настройку обычного @NgModule
с нуля, но вы просто добавляете то, что вам нужно.
import { async, TestBed } from '@angular/core/testing';
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AppComponent ],
providers: [],
imports: []
})
.compileComponents();
}));
it('...', () => {
let fixture = TestBed.createComponent(AppComponent);
});
Смотрите также
- Угловое тестирование документов для многих более полных примеров.