首页 > 解决方案 > 使用 junit 在 Gradle 中运行集成测试

问题描述

我正在使用 Gradle 运行我的集成测试。我正在使用 JUnit 进行测试。触发 Gradle 任务时不会执行集成测试。我正在使用 JUnit 4.12 版和 Gradle 3.5 版。

我正在将一个项目从 Ant 构建迁移到 Gradle。它在触发 ant 任务时执行所有集成测试。我需要用 build.gradle 替换 build.xml 文件来执行所有的集成测试。这是 build.gradle 文件中的代码

apply plugin: 'java'

repositories {
    mavenCentral()
}
sourceSets {
    test {
        java {
            srcDirs = ['src/main/java']
        }
        resources {
            srcDirs = ['src/test']
        }
    }
}
dependencies {
    testCompile 'junit:junit:4.12'
    testRuntimeOnly 'junit:junit:4.12'
    compileClasspath  sourceSets.main.output + sourceSets.test.output
    runtimeClasspath  sourceSets.main.output + sourceSets.test.output
}
task run(type: Test) {
    useJUnit()
}

我正在使用另一个 build.gradle 文件将资源和代码依赖项复制到build/classes文件夹。代码是:

distributions {
    distZip.enabled = false
    main {
        baseName = 'project name'
        version = ''
        contents {
            from { 'build.gradle' }
            from { '../config/gradle/common-build.gradle' }
            from {'../gradle*'}
            from { 'build/libs/*.jar' }
            into('build/classes') {
                from('build/classes')
            }
            into('build/resources') {
                from('build/resources')
            }
        }
     }
  }

我正在使用以下代码将一个 build.gradle 文件导入另一个文件:

apply from: 'buildFileLocation/build.gradle'

但是每当我执行任务时,我都会将其作为输出:

> Task :compileJava NO-SOURCE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test NO-SOURCE
> Task :run NO-SOURCE

标签: javaandroidgradlejunitintegration-testing

解决方案


推荐阅读