代码之家  ›  专栏  ›  技术社区  ›  ayushgp

为测试添加多个源测试目录

  •  1
  • ayushgp  · 技术社区  · 6 年前

    我有一个目录结构如下的项目:

    src/main/java
    src/main/resources
    src/test/java
    src/test/resources
    

    integrationTest :

    src/integrationTest/java
    src/integrationTest/resources
    

    我想把集成测试和单元测试完全分开。我该怎么添加这个呢?在build.gradle中,我不知道如何指定一个新任务来选择这个文件夹,构建它并分别运行测试。

    2 回复  |  直到 6 年前
        1
  •  5
  •   M.Ricciuti    6 年前

    格拉德尔有一个 source sets Java插件 此处记录: https://docs.gradle.org/current/userguide/building_java_projects.html#sec:java_source_sets

    您可以在您的应用程序中定义一个新的源集“integrationTest” build.gradle

    sourceSets {
        integrationTest {
            java {
                compileClasspath += main.output + test.output
                runtimeClasspath += main.output + test.output
                srcDir file('src/integration-test/java')
            }
            resources.srcDir file('src/integration-test/resources')
        }
    }
    

    这将自动创建新的 配置 integrationTestCompile integrationTestRuntime ,可用于定义新的 任务 integrationTests :

    task integrationTest(type: Test) {
        testClassesDirs = sourceSets.integrationTest.output.classesDirs
        classpath = sourceSets.integrationTest.runtimeClasspath
    }   
    

    供参考:可在以下位置找到一个完整的工作示例: https://www.petrikainulainen.net/programming/gradle/getting-started-with-gradle-integration-testing/

        2
  •  3
  •   blacktide Gaurav    3 年前

    构建.gradle 具体如下:

    sourceSets {
      main {
        java {
          srcDirs = ['src']
        }
      }
    
      test {
        java {
          srcDirs = ['test']
        }
      }
      integrationTest {
        java {
          srcDirs = ['integrationTest']
        }
      }
    }
    

    干杯!