Тестирование угловой библиотеки, как компонентов библиотеки, так и примера приложения одновременно
Я создал библиотеку Angular с использованием официальных руководств и других публикаций (например, этой).
Библиотека очень проста, она содержит только один компонент component.ts
с тестами в component.spec.ts
.
Вместе с библиотекой у меня также есть пример приложения, в котором я показываю, как использовать component.ts
. Пример приложения представлен app.component.ts
, который имеет свои собственные тесты в app.component.spec.ts
.
Леса моей рабочей области были созданы Angular CLI (v 6.0.8). Структура рабочей области, по крайней мере, для файлов, которые, как я подозреваю, более актуальны для моего случая, выглядит следующим образом:
workspace
- projects
- library-name
- src
- lib
- component.ts
- component.spec.ts
- test.ts
- karma.config.ts
- src
- app
- app.component.ts
- app.component.spec.ts
- karma.config.ts
- angular.json
Если я запускаю ng test library-name
, то запускаются только тесты component.spec.ts
.
Если я запускаю ng test
без указания имени библиотеки, потому что я хочу протестировать и компонент, и пример приложения, происходит следующее:
- Браузер автоматически открывает браузер
- тесты
app.component.spec.ts
запускаются, и результаты отображаются в только что открытом браузере
- если я остановлю процесс с помощью ctrl + C, начнется новый процесс и будут выполнены тесты
component.spec.ts
(т.е. прерывание первого процесса тестирования запускает второй процесс тестирования)
- если я снова остановлю тест с помощью ctrl + C, то в конце концов все остановится, и я вернусь в командную строку
У меня вопрос: есть ли способ запустить оба теста app.component.spec.ts
и component.spec.ts
в одном и том же процессе?
Ответы
Ответ 1
Я знаю, что это старый пост, который до сих пор остается без ответа, но я изучил его и нашел решение.
ng test example-ng6-lib-app --no-watch && ng test example-ng6-lib --no-watch
где example-ng6-lib
- это имя библиотеки в соответствии с прилагаемой статьей вопроса.
Пожалуйста, попробуйте