Использование углового тестового стенда с sbt-жасмином
У меня есть приложение Angular/Typescript, поддерживаемое Play! сервер. Инструментом сборки является sbt/sbt-web, а ресурсы внешнего интерфейса загружаются через веб-файлы. Я использую плагин sbt-jasmine для запуска тестов.
Я хочу использовать среду тестирования Angular для компонентов (Testbed, ...). В моем тесте у меня есть этот код импорта / инициализации:
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
import { TestBed } from '@angular/core/testing';
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
Моя угловая версия 4.2.5. Среди прочего я импортирую в build.sbt:
"org.webjars.npm" % "zone.js" % "0.8.19",
"org.webjars.npm" % "jasmine-core" % "2.6.4" % Test
Приложение работает нормально, но как только я запускаю свои тесты с ./activator test:jasmine
Я получаю следующую ошибку:
[error] /home/jan/dev/nemo-user-service/target/web/node-modules/main/webjars/@angular/core/bundles/core-testing.umd.js:328
[error] var FakeAsyncTestZoneSpec = Zone['FakeAsyncTestZoneSpec'];
[error] ^
[error] ReferenceError: Zone is not defined
В соответствии с рекомендациями команды Zone здесь я попытался загрузить пакет zone-testing-bundle. Но я не уверен, что правильное место для определения этой зависимости будет в моем случае. Я адаптировал файл helpers.js несколькими способами. Но это только изменило стек вызовов ошибки, а не саму ошибку. Возможно, это не то место.
Заранее большое спасибо!