[英]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
。
使用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.