我在Sping Boot Test -Test1.java -Test2.java -Test3.java
的测试包中有一个像这样的测试包(使用Junit4)
现在,当我在IntelliJ中运行Test文件时,它完全正常,没有任何问题,但当我运行mvn test时,它失败了,我检查了只有在Test2.java在Test1.java之前运行时才会发生的错误。我知道Test类中的测试用例不会保持任何顺序,但对于Test包也是如此吗?
[ERROR] Please refer to /Users/s0r0e4g/Desktop/SPEED CHANGE/Config_ClubItemBenchMark/oia-configuration/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
1条答案
按热度按时间2ledvvac1#
并且我检查了错误,该错误仅在Test2.java在www.example.com之前运行时才会发生Test1.java。我知道Test类中的测试用例不会保持任何顺序,但对于Test包也是如此吗?
我遇到过完全相同的场景,而且测试文件确实可以并且将以不同的顺序执行。
我们最终所做的虽然不是最佳实践,但却是这里提供的solution。这可能不是最佳实践,因为测试文件的顺序依赖性不是一个好的实践,但是如果你发现自己在一个巨大的项目中因为这个原因而失败,并且你不能重写大部分测试代码,那么使用这个作为解决方案是有意义的。
所以在你的情况下我会使用
我会将
Test2.java
重命名为Test1.java
,并将Test1.java
重命名为Test2.java
。这将确保它们在不同场景和机器中的执行顺序。