У меня есть приблизительная структура проекта: < /p>
project/
├── module-with-java-code/
│ ├── main
│ ├── test
│ └── build.gradle
├── module-with-cucumber-features/
│ ├── features [test]/
│ │ ├── feature-test-folder-1/
│ │ │ ├── test-1.feature
│ │ │ └── -...
│ │ └── ...
│ ├── test/
│ │ ├── glue/
│ │ │ └── glues...
│ │ ├── TestNgCucumberTest for feature-test-folder-1
│ │ └── ...
│ └── build.gradle
├── way more more modules...
└── build.gradle
Я хочу выполнить Pitest на коде в module-with-java-code , но я хочу запустить его с тестами внутри своего собственного модуля и < /strong> тестирование функций от module-with-cucumber feetures .
Версии, которые я использую:
[*] Gradle: 8.11.1 < /li>
Pitest Gradle-Plugin: 'info.solidsoft.pitest' версия '1.15.0' < /li>
Pitest-testng-plugin: 'org.pitest: pitest-testng-plugin: 1.0.0' < /li>
pitest-junit5-plugin: 'org.pitest: pitest-junit5-plugin: 1.2.1' < /li>
Cucumber
DEPS: 1,0,6 ',
[*]'io.cucumber:cucumber-picocontainer:7.20.1',,
[*]'io.cucumber:cucumber-Java:7.20.1',,
[*]'io.cucumber:cucumber-testng:7.20.1',
'me.jvt.cucumber:1 /> Я попытался следовать документации на Gradle-pitest-plugin вместе с мультимодульным примером < /p>
Чего я ожидал, так это то, что он распознает Тесты огурца (например, Testngcucumbertest) и для каждой мутации выполнять тесты огурца и модульные тесты. > Module-with-cucumber-features < /strong>
Здесь он дает ошибку: мутации не найдены < /p>
configure(project(':module-with-cucumber-features')) {
apply plugin: 'info.solidsoft.pitest'
dependencies {
implementation project(':module-with-java-code')
}
configurations { mutableCodeBase { transitive false } }
dependencies { mutableCodeBase project(':module-with-java-code') }
pitest {
mutators = ["ALL"]
mainSourceSets = [project(':module-with-java-code').sourceSets.main]
testSourceSets = [sourceSets.test]
targetTests = ['com.example.TestNgCucumberTest']
additionalMutableCodePaths = [configurations.mutableCodeBase.singleFile]
}
}
< /code>
Я попытался настроить его в корневом проекте
здесь. Java-Code 'типа org.gradle.api.internal.artifacts.configurations.defaultConfigurationContainer "< /p>
configure(project(':module-with-cucumber-features')) {
apply plugin: 'info.solidsoft.pitest'
apply plugin: 'java'
dependencies {
implementation project(':module-with-java-code')
}
//Additional configuration to resolve :module-with-java-code project JAR as mutable code path for PIT
configurations {
mutableCodeBase { transitive false }
dependencies {
mutableCodeBase.extendsFrom(project(':module-with-java-code').configurations.implementation)
}
}
pitest {
timestampedReports = false
mainSourceSets = [project.sourceSets.main, project(':module-with-java-code').sourceSets.main]
//Generates deprecation warning in Gradle 5.6+
//Asked for recommendation: https://discuss.gradle.org/t/accessing- ... ings/35048
additionalMutableCodePaths = configurations.mutableCodeBase.files
// additionalMutableCodePaths = project(':module-with-java-code').jar.outputs.files.getFiles() //Workaround
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... sts-that-a
Как мне сделать пит-работу с многомодульным проектом с тестами огурца, которые находятся в отдельном модуле ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение