2016-11-08 68 views
0

我想通过gradle文件运行我的junit测试,但构建成功但未运行任何测试。这是我的gradle这个文件看起来像:Gradle文件未运行测试

apply plugin: 'java' 

// Creating a new sourceSet because you should move your integration tests to a separate directory. 
sourceSets { 
    test { 
      java.srcDirs = ['src/integration-test/java'] 
     } 
      integrationTest { 
      java.srcDirs = ['src/integration-test/java']   
      compileClasspath += main.output + test.output 
      runtimeClasspath += main.output + test.output 
    } 
} 

configurations { 
    integrationTestCompile.extendsFrom testCompile 
    integrationTestRuntime.extendsFrom testRuntime 
} 



task integrationTest(type: Test, description: 'Runs the integration tests', group: 'Verification') { 
      testClassesDir = sourceSets.integrationTest.output.classesDir 
      classpath = sourceSets.integrationTest.runtimeClasspath 
      } 

运行的任务integrationTest之后,成功打造运行,但它不运行任何测试。有谁知道为什么?

+0

您需要定义一个'集成 - test' [来源集(https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_project_layout) –

回答

1

不知道你想做什么:分开的完全移动的测试类的其他文件夹中的集成测试,但我认为你需要包括测试配置的像这样的依存关系:

configurations { 
    integrationCompile.extendsFrom testCompile 
    integrationRuntime.extendsFrom testRuntime 
} 

对于例如集成测试配置:

sourceSets { 
    test { 
     java.srcDirs = ['src/test/java'] 
    } 
    integration { 
     java.srcDirs = ['src/integration/java'] 
     resources.srcDir 'src/integration/resources' 
     compileClasspath += main.output + test.output 
     runtimeClasspath += main.output + test.output 
    } 
} 

configurations { 
    integrationCompile.extendsFrom testCompile 
    integrationRuntime.extendsFrom testRuntime 
} 

task integration(type: Test, group: 'Verification') { 
    testClassesDir = sourceSets.integration.output.classesDir 
    classpath = sourceSets.integration.runtimeClasspath 
} 

如果您只是想将你的测试,在其他文件夹(src/integration-test/java),并与test任务中,你可以使用下面的配置中运行他们的情况:

sourceSets { 
    test { 
     java.srcDirs = ['src/integration-test/java'] 
    } 
} 
+0

喜@alex为感谢您回答。你可以看看我更新的答案 – Gaurav

+0

@Gaurav你确定集成在'src/test/resources'中的测试资源可能需要从'java.srcDirs = ['src/test/resources']'更改为'java .srcDirs = ['src/test/java']'... –

+0

我将其更改为resources.srcDirs,仍然没有运行 – Gaurav