Что такое 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);
});

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

Другие вопросы по тегам