提问人:Evgenii 提问时间:11/14/2023 更新时间:11/15/2023 访问量:56
Spring Boot gradle 与 Spock 的集成测试
Spring boot gradle integration test with Spock
问:
我正在使用 Spring Boot + Gradle + Spock (groovy) 进行集成和单元测试。
我能够配置单元测试以与 Spock 一起使用。
集成测试无法启动,因为它们看不到项目文件。
在这里,我已经为集成测试完成了(清理)配置。
我确实相信问题是我没有正确配置依赖项+在不同的目录中进行集成测试。
sourceSets {
integrationTest {
groovy.srcDir "$projectDir/src/integrationTest/groovy"
resources.srcDir "$projectDir/src/integrationTest/resources"
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
configurations {
integrationTestImplementation.extendsFrom testImplementation
integrationTestRuntimeOnly.extendsFrom testRuntimeOnly
}
task integrationTest(type: Test) {
description = 'Runs the integration tests.'
group = 'verification'
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
}
目录结构是
src
-main
--java
-test
--groovy
-integrationTest
--groovy
答:
3赞
Vampire
11/14/2023
#1
鉴于您使用的是足够新的 Gradle 版本,我建议您使用 JVM 测试套件插件来定义您的其他测试套件。它记录在 https://docs.gradle.org/current/userguide/jvm_test_suite_plugin.html 中,还显示了您的确切用例,即需要访问生产代码的集成测试。
评论