首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gradle集成测试正在构建但未运行

Gradle集成测试正在构建但未运行
EN

Stack Overflow用户
提问于 2018-07-17 20:54:09
回答 0查看 3.5K关注 0票数 8

我正在设置一个多模块gradle项目,并尝试为所有子项目分离集成测试。我已经设法创建了integTest任务,我可以看到它构建了集成测试类,并在单元测试的不同目录中创建了集成测试报告。然而,它并没有运行我的集成测试。

项目结构类似于

代码语言:javascript
运行
复制
|_ gradle
| |_ integration-test.gradle
|_ subproject
| |_ src
| |  |_ main
| |  | |_ java
| |  | |_ resources
| |  |_ test
| |  | |_ java
| |  | |_ resources
| |  |_ integTest
| |    |_ java
| |    | |_sit
| |    |   |_ MyTest.java
| |    |_ resources
| |_ build.gradle
|_ build.gradle
|_ gradle.properties
|_ settings.gradle

在integration-test.gradle中,我有

代码语言:javascript
运行
复制
sourceSets {
    integTest {
        java.srcDir file('src/integTest/java')
        resources.srcDir file('src/integTest/resources')
        compileClasspath += sourceSets.main.output + configurations.testRuntimeClasspath
        runtimeClasspath += output + compileClasspath
    }
}

dependencies {
    integTestCompile sourceSets.main.output
    integTestCompile sourceSets.test.output 

    integTestCompile configurations.compile
    integTestCompile configurations.testCompile 

    integTestRuntime configurations.runtime
    integTestRuntime configurations.testRuntime 
}

task integTest(type: Test) {
    group = LifecycleBasePlugin.VERIFICATION_GROUP
    description = 'Runs the integration tests.' 

    maxHeapSize = '1024m' 

    testClassesDir = sourceSets.integTest.output.classesDir
    classpath = sourceSets.integTest.runtimeClasspath 

    binResultsDir = file("$buildDir/integration-test-results/binary/integTest")

    reports { 
        html.destination = "$buildDir/reports/integration-test"
        junitXml.destination = "$buildDir/integration-test-results"
    }

    mustRunAfter tasks.test
}

check.dependsOn integTest

然后在子项目build.gradle中,我在顶部添加了以下内容

代码语言:javascript
运行
复制
apply from: "$rootDir/gradle/integration-test.gradle"

在运行gradle clean build之后,我可以看到单元测试的构建和运行,以及之后的测试报告。我还可以看到,集成测试是在构建目录中的类下面的一个单独的integTest目录中构建的。我还可以看到在构建目录中创建了一个新的集成测试结果目录,但是在MyTest.java中定义的测试并未运行

在使用-i标志运行时,我也在控制台中看到了这一点

代码语言:javascript
运行
复制
> Task :javaproject:integTest
Task ':javaproject:integTest' is not up-to-date because:
  Output property 'binResultsDir' file E:\dev\java\workspace\javaproject\subproject\build\integration-test-results\binary\integTest has been removed.
  Output property 'binResultsDir' file E:\dev\java\workspace\javaproject\subproject\build\integration-test-results\binary\integTest\output.bin has been removed.
  Output property 'binResultsDir' file E:\dev\java\workspace\javaproject\subproject\build\integration-test-results\binary\integTest\output.bin.idx has been removed.
Finished generating test XML results (0.0 secs) into: E:\dev\java\workspace\javaproject\subproject\build\integration-test-results
Generating HTML test report...
Finished generating test html results (0.006 secs) into: E:\dev\java\workspace\javaproject\subproject\build\reports\integration-test
:javaproject:integTest (Thread[Task worker for ':',5,main]) completed. Took 0.092 secs.
:javaproject:check (Thread[Task worker for ':',5,main]) started.
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51381925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档