У нас есть устаревший проект Angular 4, использующий SystemJS.Нас попросили реализовать юнит-тесты с использованием Jasmine и Karma.Я начал писать набор тестов для одного компонента.Это выглядит примерно так (псевдокод ниже):
beforeEach(async(() => {
TestBed.configureTestingModule(
imports,
providers,
declarations etc.
).compileComponents();
}));
Теперь, если я просто добавлю простой фиктивный тестовый пример в этот набор, он завершится с ошибкой:
asyncобратный вызов не был вызван в течение времени ожидания, указанного в jasmine.default_timeout_interval
Если я удаляю вызов compileComponents, он начинает работать.С другой стороны, если я использую очень простой компонент без провайдеров и дочерних компонентов, настройка работает.Поэтому я предполагаю, что различные импорты / провайдеры как-то вызывают его поломку.
Кто-нибудь сталкивался с такой проблемой раньше?
Причина, по которой мне нужны compileComponents, заключается в том, что мы используем templateUrls, а невстроенные HTML в наших компонентах.
Спасибо