繁体   English   中英

gradle 集成测试不起作用,单元测试运行两次

[英]gradle integration test not working, unit test running twice

我有这个根build.gradle

repositories {
    jcenter()
}

subprojects  {

    apply plugin: 'java'

    group 'me.someone'
    version '1.0.0'

    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    repositories {
        jcenter()
        mavenCentral()
    }

    dependencies {
        testImplementation 'junit:junit:4.12'
    }

}

然后我有了这个孩子build.gradle

plugins {
    id 'java-library'
    id 'eclipse'
    id "org.springframework.boot" version "2.0.1.RELEASE"
    id 'io.spring.dependency-management' version "1.0.5.RELEASE"
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile project(':foo-jar')

    testImplementation('org.springframework.boot:spring-boot-starter-test')
    testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.18.3'

}

sourceSets {
    main {
        java {
            srcDir 'src/main/java'
        }
    }

    test {
        java.srcDir file('src/int/java')
    }

    itest {
        java {
            srcDir file('src/itest/java')
        }
        //resources.srcDir 'src/itest/resources'
    }
}


test {
    testLogging {
        showStandardStreams = true
        events "passed", "skipped", "failed"
        exceptionFormat = 'full'
    }   
}

task itest(type: Test) {
  testLogging {
        showStandardStreams = true
        events "passed", "skipped", "failed"
        exceptionFormat = 'full'
   }
   itest.mustRunAfter test
}

check.dependsOn itest

bootRun {
    main = 'me.someone.BarServiceApplication'
}

问题是单元测试运行两次,而不是集成测试。 为什么单元测试运行两次而不是集成测试? 我的理解是当我提供集成测试的源文件夹时,它也应该运行集成测试。

您的任务itest需要配置它的testClassesDirs ,这就是它当前运行两次单元测试的原因。 它可能还需要配置classpath

您应该查看 Gradle 文档, 了解如何对所有细节进行集成测试

使用itest gradle插件可以在您的项目中实施集成测试。

只需指定

plugins {
  id 'java'
  id 'com.softeq.gradle.itest' version '1.0.2'
}

gradle.build文件中,并将测试代码放入src/itest文件夹

https://github.com/Softeq/itest-gradle-plugin

https://softeq.github.io/itest-gradle-plugin/

-伊利亚

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM