智能测试运行良好,并且gradle失败

时间:2018-03-11 14:36:31

标签: spring-boot gradle junit5

从IntelliJ开始测试工作正常。 gradle中的相同测试返回:

13:15:20.148 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'Inlined Test Properties' with highest search precedence
╷
└─ JUnit Jupiter ✔
   ├─ HelloIntegrationTest ✔
   │  └─ testHello() ✘ Failed to load ApplicationContext

最后一个调试日志行在IntelliJ中是相同的。不同之处在于,在IntelliJ中,测试开始并成功,但是在gradle中它会停止。 在IntelliJ中,如果我故意使其失败,则测试失败。所以我确信它一直运行到最后。

- debug --info --stacktrace没有帮助,因为日志在测试之前停止。 我是Gradle的初学者。任何线索如何调试这是受欢迎的......

使用Gradle 4.6,Spring Boot 2发行版,JUnit 5.0.1。 整个班级和复制品都有: https://github.com/ununhexium/springdwarf/blob/4480792f9d257dfc726fcf956ca5e452675b18e9/src/test/java/net/lab0/shell/HelloIntegrationTest.java

2 个答案:

答案 0 :(得分:3)

根据stacktrace(参见build/test-reports),这是由类路径上的不同日志框架引起的。

快速解决方法是删除以下两个依赖项以及logManager的{​​{1}}配置:

JUnitPlatformExtension

切换到Gradle对JUnit平台上运行测试的本机支持也解决了这个问题: https://github.com/ununhexium/springdwarf/pull/1

答案 1 :(得分:0)

build.gradle.kts中的这一行搞砸了。

logManager = "org.apache.logging.log4j.jul.LogManager"