java - 如何从头开始运行 JUnit 类或测试方法
问题描述
我的 JUnit 测试位于不同的测试文件夹中,当我一个接一个地运行它们时,所有测试都是绿色的,所有测试都在特定文件夹中通过,但是当它在范围内完成时(一次全部完成),一些测试由于某些数据而失败在之前的测试执行过程中发生了变化。所以这是一种从头开始运行 JUnit 测试的方法,我试过了
mvn "-Dtest=TestClass1,TestClass2" test
但有些测试失败了。当它完成时:
mvn "-Dtest=TestClass1" test
都过去了。或者当:
`mvn "-Dtest=TestClass2" test
都过去了。
解决方案
只要共享公共状态TestClass1
,TestClass2
就可能无法将它们一起运行,例如它可能是static
JVM 中的某个字段。您必须重构测试,以便它们被隔离并且没有副作用,例如在测试后使用@Before
和@After
清理资源。
您可以使用 Maven Surefire 插件选项为每个测试生成一个新的 JVM,但这会非常低效。
推荐阅读
- r - 麻烦将多进程未来移植到 R 中的集群未来
- python - 安排与医生的预约
- python - 芹菜:一次执行一项任务
- reactjs - 如何将 useState 与 {} 一起使用?
- docker - 从一个 docker 容器到另一个容器的请求失败
- excel - 使用 VBScript 打开 VBA 用户窗体?
- javascript - Google Apps 脚本连接数字而不是相加
- r - 如何在 S4 对象中包含 S3 超类作为插槽?
- google-maps - 离子原生谷歌地图 getVisibleRegion()
- quartz-composer - Quartz Composer - 捕获合成的输出作为另一个补丁的输入