2013-03-13 5 views
1

Я пытаюсь сделать анализ покрытия строки приложения на основе Java. Нашел много ресурсов в Интернете о том, как использовать плагин Sonar + JaCoCo для получения результатов покрытия линии, и это выглядит очень многообещающим. Однако я не мог полностью понять, как реализовать это решение.Как использовать Sonar + JaCoCo для измерения покрытия линии с помощью интеграционных тестов (вручную + автоматизировано)

Подробнее о моем проекте:

  1. Существует услуга называют веб-сайтом. Служба основана на java и построена с использованием maven.

  2. Существует также набор тестов на основе селена, который запускается на веб-сайте (который вызывает звонки в вышеупомянутую службу в нескольких случаях). Набор тестов построен &, на который ссылается Ant.

  3. База кода для службы и база кода для испытаний находятся в разных местах на одном хосте.

  4. Мне нужно создать отчет о покрытии для службы на основе набора тестов интеграции.

ресурсы, я прошел через это:

Даже после прохождения через все эти, я не уверен, куда поместить jacoco-агент. jar, следует ли сделать jacoco частью maven (процесс сборки службы) или ant (процесс сборки тестов), как вызвать jacoco agent, где указать исходный репозиторий (service co co de base) и места тестового хранилища.

Я пробовал слепые перестановки из всех вышеперечисленных, но либо сборка maven, либо сборка муравьев начинает сбой, как только я добавляю к ним задачи jacoco.

Может кто-то, пожалуйста, помогите мне в этом? Мне нужно понять, какие шаги нужно предпринять, чтобы сделать это.

ответ

1

Когда вы выполняете свой серверный процесс для тестового режима, вам необходимо убедиться, что агент jacoco настроен в пути к классам. Затем агент jacoco будет эффективно прослушивать и записывать детали кода, охватываемого временем жизни JVM.

Затем выполняются те тесты селена на стороне клиента, которые будут вызывать сервер. Агент jacoco в этом случае будет записывать детали кода, выполняемого как часть ваших тестов. Когда клиентский тест завершается, вам необходимо завершить работу сервера, что должно привести к файлу покрытия jacoco.

Последним шагом является создание отчета jacoco html на основе вашего отчета о покрытии. Я мог бы предложить вам задуматься о переносе тестов на селен в ANT на ваш maven pom, так как тогда будет легче контролировать порядок выполнения теста.