首页 > 解决方案 > 如何从头开始运行 JUnit 类或测试方法

问题描述

我的 JUnit 测试位于不同的测试文件夹中,当我一个接一个地运行它们时,所有测试都是绿色的,所有测试都在特定文件夹中通过,但是当它在范围内完成时(一次全部完成),一些测试由于某些数据而失败在之前的测试执行过程中发生了变化。所以这是一种从头开始运行 JUnit 测试的方法,我试过了

mvn "-Dtest=TestClass1,TestClass2" test

但有些测试失败了。当它完成时:

mvn "-Dtest=TestClass1" test

都过去了。或者当:

`mvn "-Dtest=TestClass2" test

都过去了。

标签: javamavenjunit

解决方案


只要共享公共状态TestClass1TestClass2就可能无法将它们一起运行,例如它可能是staticJVM 中的某个字段。您必须重构测试,以便它们被隔离并且没有副作用,例如在测试后使用@Before@After清理资源。

您可以使用 Maven Surefire 插件选项为每个测试生成一个新的 JVM,但这会非常低效。


推荐阅读