Angular 4 Jasmine проблема с компиляцией - PullRequest
0 голосов
/ 15 декабря 2018

У нас есть устаревший проект Angular 4, использующий SystemJS.Нас попросили реализовать юнит-тесты с использованием Jasmine и Karma.Я начал писать набор тестов для одного компонента.Это выглядит примерно так (псевдокод ниже):

beforeEach(async(() => {
         TestBed.configureTestingModule(
                    imports,
                    providers,
                    declarations etc.
                ).compileComponents();
    }));

Теперь, если я просто добавлю простой фиктивный тестовый пример в этот набор, он завершится с ошибкой:

asyncобратный вызов не был вызван в течение времени ожидания, указанного в jasmine.default_timeout_interval

Если я удаляю вызов compileComponents, он начинает работать.С другой стороны, если я использую очень простой компонент без провайдеров и дочерних компонентов, настройка работает.Поэтому я предполагаю, что различные импорты / провайдеры как-то вызывают его поломку.

Кто-нибудь сталкивался с такой проблемой раньше?

Причина, по которой мне нужны compileComponents, заключается в том, что мы используем templateUrls, а невстроенные HTML в наших компонентах.

Спасибо

1 Ответ

0 голосов
/ 15 декабря 2018

Зачем вам нужен "асинхронный" для настройки модулей тестирования?

beforeEach(() => {
 TestBed.configureTestingModule({
     imports: [],
     declarations: [],
     providers: []
 });
 const fixture = TestBed.createComponent({{componentName}});
 fixture.detectChanges();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...