Gradle没有运行测试

jve*_*len 10 java junit gradle

由于某种原因,gradle没有运行我的测试.当我执行时gradle cleanTest test -i我得到:

Skipping task ':compileJava' as it is up-to-date (took 0.262 secs).
:compileJava UP-TO-DATE
:compileJava (Thread[main,5,main]) completed. Took 0.266 secs.
:processResources (Thread[main,5,main]) started.
:processResources
Skipping task ':processResources' as it has no source files.
:processResources UP-TO-DATE
:processResources (Thread[main,5,main]) completed. Took 0.001 secs.
:classes (Thread[main,5,main]) started.
:classes
Skipping task ':classes' as it has no actions.
:classes UP-TO-DATE
:classes (Thread[main,5,main]) completed. Took 0.0 secs.
:compileTestJava (Thread[main,5,main]) started.
:compileTestJava
Skipping task ':compileTestJava' as it has no source files.
:compileTestJava UP-TO-DATE
:compileTestJava (Thread[main,5,main]) completed. Took 0.001 secs.
:processTestResources (Thread[main,5,main]) started.
:processTestResources
Skipping task ':processTestResources' as it is up-to-date (took 0.004 secs).
:processTestResources UP-TO-DATE
:processTestResources (Thread[main,5,main]) completed. Took 0.007 secs.
:testClasses (Thread[main,5,main]) started.
:testClasses
Skipping task ':testClasses' as it has no actions.
:testClasses UP-TO-DATE
:testClasses (Thread[main,5,main]) completed. Took 0.001 secs.
:test (Thread[main,5,main]) started.
:test
file or directory '/Users/jan/2014-2015-groep-05/VoPro/build/classes/test', not found
Skipping task ':test' as it has no source files.
Run Code Online (Sandbox Code Playgroud)

我的测试在文件夹中./test/.这是我的gradle配置:

apply plugin: 'java'
apply plugin: 'eclipse'

test {
  testLogging {
    events "passed", "skipped", "failed", "standardOut", "standardError"
  }
  dependsOn 'cleanTest'
}

repositories {
  mavenCentral()
}

dependencies {
  testCompile("junit:junit")
}

sourceSets {
  main {
    java {
      srcDir 'src'
      srcDir 'test'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到问题所在.Gradle无法识别任何测试,因为test和cleanTest都是最新的,但是我确实将test /添加到了我的sourceSets.

Rob*_*ave 27

使用 Junit5 的用户请注意,我们需要包含以下内容才能启用它 - 也就是说,默认情况下不启用运行 junit5 测试。

test {
  useJUnitPlatform()
}
Run Code Online (Sandbox Code Playgroud)

  • 这为我挽救了这一天!一直在寻找原因:jacocoTestReport 跳过了几乎一天,所有答案都已过时,这是唯一一个通过解决运行 junit5 的根本原因来涵盖 spring 2.5 问题的答案 (2认同)

JB *_*zet 8

你说 SourceSet应该包含测试目录.应在测试 SourceSet中设置此目录.


tim*_*per 7

将 sourceSets 替换为以下简单片段:

sourceSets.main.java.srcDirs = ['src']
sourceSets.test.java.srcDirs = ['tst']
Run Code Online (Sandbox Code Playgroud)