JAVA 8 升级,仅 mvn clean install 测试失败,有什么想法吗?

标签 java maven unit-testing java-8

我将我的项目从 java 1.5 升级到 java 1.8,我的测试在 eclipse junit run 中通过,并且当我使用“mvn -Dtest=xxxx clean test”运行单个测试时也通过,但当我运行“mvn clean install”测试时失败了,有什么想法吗?

最佳答案

如果没有更多细节,就不可能帮助回答您的具体问题,但这里有一些需要检查的一般指南。

似乎一个或多个单独的测试没有正确初始化测试装置或自行清理。早期的测试正在改变后续测试的环境。在这些污染测试之一之后运行的测试不会以干净、正确初始化的测试数据开始,并且会失败。单独运行时,测试数据将被初始化,并且之前失败的测试将通过。

“环境”可能意味着测试类变量、缓存、数据库、环境变量...等。

当这种情况发生时,不要立即假设测试已被破坏,而不检查被测代码。根据被测代码正在执行的操作,失败的测试可能是有效的,指出代码本身的初始化或正确清理存在问题。对于这些情况,测试已经完成了它们的工作!

此外,请记住,不同的 JVM 可以以不同的顺序运行测试 - 在类内和类之间。您的测试类不应假定测试将按特定顺序运行,因此每个测试都应彼此正确隔离。

关于JAVA 8 升级,仅 mvn clean install 测试失败,有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53230511/

相关文章:

java - 在大型社交网站上用 PHP 实现哪些东西成本很高?

Java使用volatile关键字内存效率高吗?

java - 如何在我的依赖项中包含tools.jar?

java - 如何检查 jar 文件依赖性

java - 如何通过一些用例测试 Apache Nutch 插件

java - Java 中命名管道的并发读/写(在 Windows 上)

java - 在安全上下文中仅在重定向时访问页面

Java 8 : How to use javadoc aggregate

python - 如何跳过 DRF 单元测试中的方法调用?

unit-testing - 如何跟踪调用的方法?