Тестирование угловой библиотеки, как компонентов библиотеки, так и примера приложения одновременно

Я создал библиотеку 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 - это имя библиотеки в соответствии с прилагаемой статьей вопроса.

Пожалуйста, попробуйте