我试图关注https://selimober.com/gradle_unit_integration/
使用略有不同的文件结构:
title_Ad_editText
运行" gradle集成" - 编译运行正常,类文件出现在:
src/test/integration/groovy
src/test/unit/groovy
src/test/resources
但测试本身永远不会运行。我想我错过了依赖关系中的一个部分或者与运行测试的集成链接,但无法弄清楚我错过了什么。除非我必须更改文件结构并在任务名称中使用Test,例如" integrationTest"
我尝试添加:
build/classes/integration
build/classes/main/
和
check.dependsOn integration
和
integrationCompile sourceSets.main.output
integrationCompile configurations.testCompile
integrationCompile sourceSets.test.output
integrationRuntime configurations.testRuntime
但要么没有改变任何东西,要么给我错误,如:
task integ(type: Test) {
testClassesDir = sourceSets.integ.output.classesDir
classpath = sourceSets.integ.runtimeClasspath
}
感谢您的帮助。
我的build.gradle文件:
Could not find method integrationCompile() for arguments [main classes] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
答案 0 :(得分:1)
问题出在你的任务中:
task unit(type: Test) {
include '**/unit/**'
}
task integration(type: Test) {
include '**/integration/**'
}
您不需要,文件夹由源集定义。 include包括导致测试仅限于其包中包含“unit”的类。 “融合”。
删除它,你的测试应该运行。
BTW你不需要这些也不包括:
sourceSets {
unit {
groovy {
exclude '**/integration/**'
}
}
}
答案 1 :(得分:0)
在源集和配置之后放置依赖项。为我工作。