расстановка приоритетов тестового набора. Как я могу получить покрытие кода тестового случая? - PullRequest
0 голосов
/ 17 апреля 2020

Я работаю над проектом Java и меня интересует реализация алгоритма приоритезации тестовых случаев. Чтобы быть более конкретным c «дополнительная стратегия». Это алгоритм на основе покрытия. Это означает, что контрольные примеры располагаются по приоритетам в зависимости от объема кода, который они охватывают. У меня проблемы с поиском инструмента, который может дать мне индивидуальный охват тестовых случаев, а не проект. Я посмотрел на JaCoCo и OpenClover, эти инструменты предоставляют некоторую информацию, но, кажется, нет никакого способа для t ie данного теста для операторов и / или методов в коде проекта.

Для того, чтобы уточните, пожалуйста, посмотрите на 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% уникальным. Это та информация, которая мне нужна. Однако найти инструмент, который делает это, кажется невозможным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...