测试案例优先级。如何获得测试用例的代码覆盖率?

时间:2020-04-17 18:38:14

标签: java xml maven testing automated-tests

我正在研究Java项目,并且对实现测试用例优先级排序算法感兴趣。更具体地说,是“附加策略”。 这是基于覆盖率的算法。这意味着将根据测试用例覆盖的代码优先级。 我遇到的麻烦是找到一种工具,该工具可以为我提供各个测试用例的覆盖范围,而不是项目覆盖范围。 我看过JaCoCo和OpenClover,这些工具提供了一些信息,但是似乎没有办法将给定的测试与项目代码中的语句和/或方法联系起来。

为澄清起见,请查看下面的XML。

 <project name="myProj">
    <metrics  methods="2" classes="2" statements="15" packages="1" />
    <file path="F:\myProj\src\java\Main.java" name="Main.java">
        <metrics  methods="2" classes="2" statements="15" packages="1" />
    </file>
 </project>

<file path="F:\myProj\src\test\java\Test.java" name="Test.java">
    <class name="Test">
       <metrics methods="2" testruns="2" statements="6" coveredmethods="2" coveredstatements="9" testpasses="2"/>
       <method name ="palindromTest">
            <metrics statements="3" coveredmethods="1" coveredstatements="4" passed="true" file="StringManipulation.java"/>
            <statement line="1"/>
            <statement line="2"/>
            <statement line="3"/>
            <statement line="4"/>
       </method>
        <method name ="stringReverseTest">
            <metrics statements="3" coveredmethods="1" coveredstatements="5" passed="true" file="StringManipulation.java"/>
            <statement line="3"/>
            <statement line="4"/>
            <statement line="5"/>
            <statement line="6"/>
            <statement line="7"/>
       </method>
    </class>
</file> 

这是我想要的例子。 由此可见,方法palindromTest包含4条语句。我知道stringReverseTest也涵盖了其中的两个语句。 我还可以看到palindromTest在源代码中包含4/15条语句,使其语句覆盖率达到26%或13%的唯一覆盖率。这是我需要的信息类型。但是,找到能够做到这一点的工具似乎是不可能的。

0 个答案:

没有答案
相关问题