Может ли EclEmma для Eclipse показывать покрытие кода тестами? - PullRequest
0 голосов
/ 23 апреля 2020

Так что я использую EclEmma в Eclipse для генерации XML отчета о покрытии. Выглядит примерно так:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>

<!DOCTYPE report SYSTEM "report.dtd" PUBLIC "-//JACOCO//DTD Report 1.1//EN">

-<report name="mainTest (1) (Apr 23, 2020 3:48:01 PM)">


-<group name="covTest2">


-<group name="src">


-<package name="covTest2">


-<class name="covTest2/main" sourcefilename="main.java">


-<method name="<init>" line="3" desc="()V">

<counter covered="0" missed="3" type="INSTRUCTION"/>

<counter covered="0" missed="1" type="LINE"/>

<counter covered="0" missed="1" type="COMPLEXITY"/>

<counter covered="0" missed="1" type="METHOD"/>

</method>


-<method name="main" line="5" desc="([Ljava/lang/String;)V">

<counter covered="0" missed="11" type="INSTRUCTION"/>

<counter covered="0" missed="3" type="LINE"/>

<counter covered="0" missed="1" type="COMPLEXITY"/>

<counter covered="0" missed="1" type="METHOD"/>

</method>

<counter covered="0" missed="14" type="INSTRUCTION"/>

<counter covered="0" missed="4" type="LINE"/>

<counter covered="0" missed="2" type="COMPLEXITY"/>

<counter covered="0" missed="2" type="METHOD"/>

<counter covered="0" missed="1" type="CLASS"/>

</class>


-<class name="covTest2/calc" sourcefilename="calc.java">


-<method name="<init>" line="3" desc="()V">

<counter covered="3" missed="0" type="INSTRUCTION"/>

<counter covered="1" missed="0" type="LINE"/>

<counter covered="1" missed="0" type="COMPLEXITY"/>

<counter covered="1" missed="0" type="METHOD"/>

</method>


-<method name="sum" line="5" desc="(II)I">

<counter covered="4" missed="0" type="INSTRUCTION"/>

<counter covered="1" missed="0" type="LINE"/>

<counter covered="1" missed="0" type="COMPLEXITY"/>

<counter covered="1" missed="0" type="METHOD"/>

</method>

<counter covered="7" missed="0" type="INSTRUCTION"/>

<counter covered="2" missed="0" type="LINE"/>

<counter covered="2" missed="0" type="COMPLEXITY"/>

<counter covered="2" missed="0" type="METHOD"/>

<counter covered="1" missed="0" type="CLASS"/>

</class>


-<sourcefile name="main.java">

<line cb="0" mb="0" ci="0" mi="3" nr="3"/>

<line cb="0" mb="0" ci="0" mi="4" nr="5"/>

<line cb="0" mb="0" ci="0" mi="6" nr="6"/>

<line cb="0" mb="0" ci="0" mi="1" nr="7"/>

<counter covered="0" missed="14" type="INSTRUCTION"/>

<counter covered="0" missed="4" type="LINE"/>

<counter covered="0" missed="2" type="COMPLEXITY"/>

<counter covered="0" missed="2" type="METHOD"/>

<counter covered="0" missed="1" type="CLASS"/>

</sourcefile>


-<sourcefile name="calc.java">

<line cb="0" mb="0" ci="3" mi="0" nr="3"/>

<line cb="0" mb="0" ci="4" mi="0" nr="5"/>

<counter covered="7" missed="0" type="INSTRUCTION"/>

<counter covered="2" missed="0" type="LINE"/>

<counter covered="2" missed="0" type="COMPLEXITY"/>

<counter covered="2" missed="0" type="METHOD"/>

<counter covered="1" missed="0" type="CLASS"/>

</sourcefile>

<counter covered="7" missed="14" type="INSTRUCTION"/>

<counter covered="2" missed="4" type="LINE"/>

<counter covered="2" missed="2" type="COMPLEXITY"/>

<counter covered="2" missed="2" type="METHOD"/>

<counter covered="1" missed="1" type="CLASS"/>

</package>


-<package name="TestCase">


-<class name="TestCase/mainTest" sourcefilename="mainTest.java">


-<method name="<init>" line="9" desc="()V">

<counter covered="0" missed="3" type="INSTRUCTION"/>

<counter covered="0" missed="1" type="LINE"/>

<counter covered="0" missed="1" type="COMPLEXITY"/>

<counter covered="0" missed="1" type="METHOD"/>

</method>


-<method name="test" line="13" desc="()V">

<counter covered="0" missed="11" type="INSTRUCTION"/>

<counter covered="0" missed="3" type="LINE"/>

<counter covered="0" missed="1" type="COMPLEXITY"/>

<counter covered="0" missed="1" type="METHOD"/>

</method>

<counter covered="0" missed="14" type="INSTRUCTION"/>

<counter covered="0" missed="4" type="LINE"/>

<counter covered="0" missed="2" type="COMPLEXITY"/>

<counter covered="0" missed="2" type="METHOD"/>

<counter covered="0" missed="1" type="CLASS"/>

</class>


-<sourcefile name="mainTest.java">

<line cb="0" mb="0" ci="0" mi="3" nr="9"/>

<line cb="0" mb="0" ci="0" mi="4" nr="13"/>

<line cb="0" mb="0" ci="0" mi="6" nr="14"/>

<line cb="0" mb="0" ci="0" mi="1" nr="16"/>

<counter covered="0" missed="14" type="INSTRUCTION"/>

<counter covered="0" missed="4" type="LINE"/>

<counter covered="0" missed="2" type="COMPLEXITY"/>

<counter covered="0" missed="2" type="METHOD"/>

<counter covered="0" missed="1" type="CLASS"/>

</sourcefile>

<counter covered="0" missed="14" type="INSTRUCTION"/>

<counter covered="0" missed="4" type="LINE"/>

<counter covered="0" missed="2" type="COMPLEXITY"/>

<counter covered="0" missed="2" type="METHOD"/>

<counter covered="0" missed="1" type="CLASS"/>

</package>

<counter covered="7" missed="28" type="INSTRUCTION"/>

<counter covered="2" missed="8" type="LINE"/>

<counter covered="2" missed="4" type="COMPLEXITY"/>

<counter covered="2" missed="4" type="METHOD"/>

<counter covered="1" missed="2" type="CLASS"/>

</group>

<counter covered="7" missed="28" type="INSTRUCTION"/>

<counter covered="2" missed="8" type="LINE"/>

<counter covered="2" missed="4" type="COMPLEXITY"/>

<counter covered="2" missed="4" type="METHOD"/>

<counter covered="1" missed="2" type="CLASS"/>

</group>

<counter covered="7" missed="28" type="INSTRUCTION"/>

<counter covered="2" missed="8" type="LINE"/>

<counter covered="2" missed="4" type="COMPLEXITY"/>

<counter covered="2" missed="4" type="METHOD"/>

<counter covered="1" missed="2" type="CLASS"/>

</report>

В этом файле показан один тест "mainTest". Что я хотел бы знать, так это файлы ведьм, которые покрывает "mainTest", и сколько% этих файлов покрыто тестом. "mainTest". Советы по другим инструментам, которые могут достичь этого, приветствуются, если ECLEmma не работает:)

1 Ответ

0 голосов
/ 23 апреля 2020

Вы можете использовать параметр "includes", чтобы указать, какие классы вы хотите в отчете. См. Документацию здесь:

https://www.eclemma.org/jacoco/trunk/doc/report-mojo.html

Существует множество других доступных инструментов покрытия кода, и выбор тестов, которые вы хотите включить, будет обычным вариантом. Пример списка доступен здесь:

https://en.wikipedia.org/wiki/Java_code_coverage_tools

...