- PVSM.RU - https://www.pvsm.ru -

Saga: проверяем покрытие кода тестами

Если вы пишете на javascript и покрываете код юнит-тестами, то, вполне вероятно, вам будет интересно насколько хорошо он покрыт. А если в проекте используется Maven, то хочется получать эту информацию при каждой сборке.

Итак, Saga [1] — анализатор покрытия кода со вкусностями:

  • работает с большинством тест-фреймворков
  • консольная версия
  • maven-плагин версия (на официальном централе)
  • красивые и удобные отчёты

Saga: проверяем покрытие кода тестами [1]

Что нужно для начала

Предполагается, что у вас уже есть тесты и некие html-файлы для их запуска (TestRunner).
Если нету, советую посмотреть на фреймворк Jasmine [2].

Консольная версия

Свежую сборку со всеми зависимостями можно найти на code.google.com [3] или собрать из исходников на github.com [1]. И запустить из папки проекта, например так:

java -jar saga-cli-1.0.5-jar-with-dependencies.jar -b tests/ -o coverage/ -i **/*Test*.html

Назначение этих и других ключей можно посмотреть в документации [4].

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.
Подробнее о конфигурационных опциях можно почитать в документации [5].

Будущее проекта

Разработчик Тимур Стрекалов открыт для предложений и готов вносить улучшения. Уже несколько пользователей оставили отзывы, благодаря которым были исправлены несколько багов. Написать можно на странице проекта на GitHub [6].

Автор: javascript


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/maven/6715

Ссылки в тексте:

[1] Saga: https://github.com/timurstrekalov/saga

[2] Jasmine: http://pivotal.github.com/jasmine/

[3] code.google.com: http://code.google.com/p/saga-javascript-coverage/downloads/list

[4] посмотреть в документации: https://github.com/timurstrekalov/saga#command-line-tool

[5] почитать в документации: https://github.com/timurstrekalov/saga#maven-plugin-usage

[6] странице проекта на GitHub: https://github.com/timurstrekalov/saga/issues