Ваш проект Angular не будет предоставлять результаты испытаний Clover "из коробки".Вместо этого вам придется внести некоторые изменения в проект и установить дополнительные пакеты.Я выполнил это, выполнив следующее:
- Установите ChromeHeadless на сервере Bamboo
- Измените
package.json
, добавив в него следующий скрипт (под скриптами):
"test": "ng test --code-coverage --watch=false --browsers=ChromeHeadless"
Создайте задачу npm с помощью команды
run test
в каталоге вашего проекта Измените
karma.js в соответствии со своими потребностями.Мне пришлось изменить outputDir, outputFile и изменить репортеров на junit.Я также добавил следующие строки:
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: ['json-summary', 'lcovonly', 'clover'],
fixWebpackSourcePaths: true
},
Убедитесь, что
karma-coverage-istanbul-reporter
и
karma-junit-reporter
установлены и присутствуют в файле package.json (
ссылка на пакет npm ). Добавьте задачу JUnit Parser в Bamboo, котораяполучает результаты от
**/coverage/junit.xml