我想将集成测试添加到我的Gradle版本(1.0版)中。它们应与我的常规测试分开运行,因为它们需要将webapp部署到本地主机(它们测试该webapp)。这些测试应该能够使用在我的主要源代码集中定义的类。我如何做到这一点?
最佳答案
2021年更新:
在8ish年中发生了很多变化。 Gradle仍然是一个很好的工具。现在,文档中有一整节专门用于配置集成测试。我现在建议您read the docs。
原答案:
这花了我一段时间才能弄清楚,在线资源也不是很好。所以我想记录我的解决方案。
这是一个简单的gradle构建脚本,除了主要和测试源集之外,还具有intTest源集:
apply plugin: "java"
sourceSets {
// Note that just declaring this sourceset creates two configurations.
intTest {
java {
compileClasspath += main.output
runtimeClasspath += main.output
}
}
}
configurations {
intTestCompile.extendsFrom testCompile
intTestRuntime.extendsFrom testRuntime
}
task intTest(type:Test){
description = "Run integration tests (located in src/intTest/...)."
testClassesDir = project.sourceSets.intTest.output.classesDir
classpath = project.sourceSets.intTest.runtimeClasspath
}