Cobertura - Инструментарий покрытия кода - PullRequest
1 голос
/ 20 ноября 2011

Я впервые пытаюсь провести анализ покрытия кода и работаю над получением кобертуры с использованием ANT. Мои вопросы могут быть глупыми, но я хотел спросить здесь. У меня есть следующее в моих сценариях ANT. Во время чтения через cobertura следующим шагом было измерительное оборудование. Что такое инструментарий покрытия кода?

<target name="cobertura" depends="checkstyle">
    <property name="cobertura.dir" location="C:\\Softwares- packages\\Corbetura\\cobertura-1.9.4.1" />
    <path id ="cobertura.classpath">
    <fileset dir="${cobertura.dir}">
        <include name="cobertura.jar"/>
        <include name="lib/**/*.jar"/>
    </fileset>
    </path>     
    <taskdef resource="tasks.properties" classpathref="cobertura.classpath"/>

</target>

Ответы [ 2 ]

2 голосов
/ 20 ноября 2011

cobertura изменяет ваши файлы классов, чтобы он мог вычислять покрытие.Обычно я «копирую» копию файлов jar, которые я использую для выполнения тестов, и использую копию, которая не была инструментом, в качестве моего артефакта сборки.

Вот файл сборки, который я использовал при первой настройкеcobertura via ant:

Целевой инструмент cobertura обрабатывает мой код и записывает инструментированные классы в отдельный каталог, как вы сказали.

Цель junit компилирует тест, затем тестирует инструменты, затем запускает тесты и создает отчет.Все эти шаги выполняются путем объявления зависимых целей юнитом.

<path id="cobertura.classpath">
  <fileset dir="${cobertura.dir}">
    <include name="cobertura.jar" />
    <include name="lib/**/*.jar" />
  </fileset>
</path>

<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />

<!-- Delete an existing coburtura datafile -->
<delete file="${cobertura.datafile}"/>
<antcall target="cobertura.clean"/>

<!-- Instrument the code with cobertura to test for coverage -->
<cobertura-instrument todir="${cobertura.instrumented.classes}" datafile="${cobertura.datafile}">
   <fileset dir="${build.dir}/classes/">
       <include name="**/*.class"/>
   </fileset>
</cobertura-instrument>

 <fileset dir="${src.dir}">
      <include name="**/*.java" />
 </fileset>
 <fileset dir="${tests.src.dir}">
    <include name="**/*.java" />
 </fileset>

0 голосов
/ 20 ноября 2011

Полагаю, вы ищете задачу "cobertura-instrument". Смотри здесь

...