java - 如何向 Gradle 添加新的源集?

我想在我的 Gradle 构建(版本 1.0)中添加集成测试。它们应该与我的正常测试分开运行,因为它们需要将 web 应用程序部署到 localhost(它们测试该 web 应用程序)。测试应该能够使用我的主要源集中定义的类。我该如何做到这一点?

最佳答案

2021 年更新:

8 年来发生了很多变化。 Gradle 仍然是一个很棒的工具。现在,文档中有一个完整的部分专门用于配置集成测试。我推荐你read the docs现在。

原答案:

我花了一段时间才弄明白,而且在线资源不是很好。所以我想记录下我的解决方案。

这是一个简单的 gradle 构建脚本,除了 main 和 test 源集之外还有一个 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
}

https://stackoverflow.com/questions/11581419/

相关文章:

android - Gradle:如何构建不同构建类型的不同风格?

shell - 运行 shell 脚本时如何在 Jenkins 中将构建标记为不稳定

javascript - webpack中的XX个隐藏模块是什么意思

xcode - 如何在 Xcode 中启用构建时间?

build - 使用 msbuild 复制所有文件和文件夹

android - 错误 :(6, 0) 未找到 Gradle DSL 方法: 'google()'

javascript - 使用 Webpack 基于环境的条件构建

java - 如何在 Eclipse 中更新 Maven 存储库?

android - 如何在 Android Gradle 中自动增加 versionCode

android - 如何更改 Android 项目的目标构建?