Pitest: как правильно установить пути в разных модулях - PullRequest
0 голосов
/ 23 апреля 2020

У меня огромный проект, для которого я тестирую мутационное тестирование с помощью Pitest. Проект находится в форме OSGi и разделен на все модули. У меня есть такая структура:

| -1.myProgramm-parent
| -pom. xml
| -2.myProgramm.module1
| -pom. xml
| -2.myProgramm.module1.Test
| -pom. xml
| -3.myProgramm.module2
| -pom. xml
| -3.myProgramm.module2 .Test
| -pom. xml
... и так далее.

Теперь я помещаю в пом. xml из моего 1.myProgramm-parent все необходимые мне конфигурации Pitest (взяты с официального сайта pitest.org). targetClasses и targetTests находятся в пом. xml из 2.myProgramm.module1.Test, которые мне нужно использовать.
Питест находит всех 7 тестовых классов для миньонов. И отправляет их. Тогда gathering for test description тоже хорошо. Coverage generator Minion excited ok. Тогда: created 0 mutation test units.

И показывается сбой сборки. No mutations found.
Я уже перепробовал все возможные аннотатоны, показанные на pitest.org, например: targetClasses, targetTests и additionalClasspathElements.
Как я могу сказать, что testClasses находятся в этой папке 2.myProgramm.module1.Test, где я устанавливаю targetClasses, targetTests в pom. xml. НО обычные javaClasses для миньонов находятся в этом пакете: 2.myProgramm.module1
Как я могу узнать, go из вашей тестовой папки и попасть в папку вверх?
Я также дал чистый путь к папке с обычными javaClasses, но НЕТ реакции. :(

У вас есть идея?

Ps. Это не моя программа. Я ее не писал. Я просто работаю над этим, чтобы проверить У меня уже есть 11 других программ с Maven и Gradle. Я получаю все в minion. Но это такая боль в заднице! ARG!

1 Ответ

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

Если вы работаете с многомодульными проектами, вам нужно будет использовать плагин pitmp (https://github.com/STAMP-project/pitmp-maven-plugin).

Это потому, что PIT сам изменяет только те классы, которые определены в том же модуле, что и тесты. Напротив, pitmp выполнит тесты для всех классов модулей. Более подробная информация предоставлена ​​по ссылке выше.

...