Когда Питест не может найти тестовые классы

Кажется, это довольно распространенная проблема, и я лично наткнулся на нее хотя бы пару раз.

Некоторые из основных причин:

Однако сегодня я наткнулся на новый случай из 0 найденных тестов, который я изо всех сил пытаюсь решить. Давайте рассмотрим этот проект: https://github.com/bonnyfone/vectalign.
Это небольшой проект, включающий только один тестовый класс:

src
 |
 +- main
 |   |
 |   ...
 |
 +- test
     |
     +- java
          |
          +- VectAlignTest.java

Я добавил питест к pom.xml:

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>1.3.2</version>
</plugin>

Я запускаю команду mvn clean test org.pitest:pitest-maven:mutationCoverage, Несмотря на то, что тест выполняется нормально, Питс по какой-то причине не может их найти:

12:23:16 PM PIT >> INFO : MINION : 12:23:16 PM PIT >> INFO : Found  0 tests
...
================================================================================
- Statistics
================================================================================
>> Generated 910 mutations Killed 0 (0%)
>> Ran 0 tests (0 tests per mutation)

Вы можете найти полный pom.xml здесь: https://pastebin.com/F28ZpcMk
И вот полный вывод для mvn clean test org.pitest:pitest-maven:mutationCoverage: https://pastebin.com/tWHgq43a

Теперь мой вопрос: что не так в этом конкретном случае? Как Питес определяет, какие тестовые классы?

Ваша помощь будет высоко ценится:)

2 ответа

Я просто добавил решение по этой ссылке:

питест не работает правильно

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

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

<configuration>
    <targetTests>
      <param>VectAlignTest*</param>
    </targetTests>
</configuration>

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

Другие вопросы по тегам