Pitest Android: тесты не прошли без мутаций при расчете покрытия линии. Мутационное тестирование требует зеленого набораAndroid

Форум для тех, кто программирует под Android
Anonymous
Pitest Android: тесты не прошли без мутаций при расчете покрытия линии. Мутационное тестирование требует зеленого набора

Сообщение Anonymous »

У меня возникло множество проблем при попытке запустить Pitest в моем проекте Android. Я решил множество проблем, связанных с версиями Java/Gradle/Kotlin, но теперь у меня возникла пользовательская ошибка Pitest:

Код: Выделить всё

Exception in thread "main" org.pitest.help.PitHelpError: 69 tests did not pass without mutation when calculating line coverage. Mutation testing requires a green suite.
See https://pitest.org for more details.
at org.pitest.coverage.execute.DefaultCoverageGenerator.verifyBuildSuitableForMutationTesting(DefaultCoverageGenerator.java:127)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:109)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:53)
at org.pitest.mutationtest.tooling.MutationCoverage.runAnalysis(MutationCoverage.java:149)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:136)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:136)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:63)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:98)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)
Я не знаю, почему я получаю это исключение, хотя, как видите, тесты проходят успешно и покрытие линии составляет около 95%:
Изображение

Что я делаю не так? В чем проблема? Для получения более подробной информации я использую Java JetBrains Runtime 17.0.11, Kotlin 1.9.23, Gradle 7.4.2 и pl.droidsonroids.pitest версии 0.2.18, и мой текущий блок конфигурации Pest следующий:

Код: Выделить всё

pitest {
targetClasses=['app.*']
targetTests=["app.domain.*"]
avoidCallsTo=["kotlin.jvm.internal"]
mutators=["STRONGER"]
threads=Runtime.getRuntime().availableProcessors()
outputFormats=["XML", "HTML"]
mutationThreshold=70
coverageThreshold=0
}
Заранее спасибо за ответ!

Подробнее здесь: https://stackoverflow.com/questions/786 ... ine-covera

Вернуться в «Android»