Если вы пишете на javascript и покрываете код юнит-тестами, то, вполне вероятно, вам будет интересно насколько хорошо он покрыт. А если в проекте используется Maven, то хочется получать эту информацию при каждой сборке.
Итак, Saga — анализатор покрытия кода со вкусностями:
- работает с большинством тест-фреймворков
- консольная версия
- maven-плагин версия (на официальном централе)
- красивые и удобные отчёты
Что нужно для начала
Предполагается, что у вас уже есть тесты и некие html-файлы для их запуска (TestRunner).
Если нету, советую посмотреть на фреймворк Jasmine.
Консольная версия
Свежую сборку со всеми зависимостями можно найти на code.google.com или собрать из исходников на github.com. И запустить из папки проекта, например так:
java -jar saga-cli-1.0.5-jar-with-dependencies.jar -b tests/ -o coverage/ -i **/*Test*.html
Назначение этих и других ключей можно посмотреть в документации.
Maven-plugin
Чтобы подключить Saga, достаточно добавить следующий код в pom.xml:
<plugin>
<groupId>com.github.timurstrekalov</groupId>
<artifactId>saga-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>coverage</goal>
</goals>
</execution>
</executions>
<configuration>
<baseDir>${testsBaseDir}</baseDir>
<includes>
**/*Test*.html
</includes>
<outputDir>${project.build.directory}/coverage</outputDir>
</configuration>
</plugin>
Плагин будет скачан с центрального репозитория Maven.
Подробнее о конфигурационных опциях можно почитать в документации.
Будущее проекта
Разработчик Тимур Стрекалов открыт для предложений и готов вносить улучшения. Уже несколько пользователей оставили отзывы, благодаря которым были исправлены несколько багов. Написать можно на странице проекта на GitHub.
Автор: javascript