Контекст:
(для случая, когда я сталкиваюсь с проблемой XY)
По разным причинам мы недавно решили модулировать наше угловое приложение. Чтобы достичь этого, мы перешли на angular-cli
с Nrwl/Nx workspace
из старой ручной сборки веб-пакетов. Мы используем Jest для наших модульных тестов, а наш сервер сборки - Bamboo. Для обеспечения Bamboo понятными результатами испытаний мы используем jest-bamboo-reporter
. Наши тестовые сборщики @nrwl/builders:jest
.
Проблема:
Чтобы протестировать все наше приложение, мы, естественно, должны протестировать все библиотеки, а также приложения. Это все работает нормально, со следующей настройкой:
"scripts": {
"test": "npm-run-all test:app:* test:lib:*",
"test:app:first": "set JEST_REPORT_FILE=report/test-report-first.json&& ng test first",
"test:app:second": "set JEST_REPORT_FILE=report/test-report-second.json&& ng test second",
"test:lib:lib1": "set JEST_REPORT_FILE=report/test-report-lib1.json&& ng test lib1",
"test:lib:lib2": "set JEST_REPORT_FILE=report/test-report-lib2.json&& ng test lib2",
...
"test:lib:xy": "set JEST_REPORT_FILE=report/test-report-xy.json&& ng test xy"
}
Единственное, что удерживает нас от этого красивого и аккуратного, - это постоянные JEST_REPORT_FILE
определения переменных среды, которые сообщают репортеру, где должен находиться выход. Есть ли лучший способ сделать это? Я хотел бы указать переменную среды в ng test
описании каждой библиотеки.