【问题标题】:How to run particular files in order in junit如何在junit中按顺序运行特定文件
【发布时间】:2017-07-24 18:16:35
【问题描述】:

在 junit 中进行测试时,我喜欢根据要测试的内容将各种测试组织到文件中。

虽然按固定顺序运行单元测试是一种不好的做法,但对于我的目的来说它会相当方便。

我知道如何在给定文件中按顺序运行测试,但我希望能够选择我的文件的运行顺序。

假设我有两个文件:fooTest.java 和 barTest.java。

我将如何指定这些执行的顺序?

感谢所有帮助。

【问题讨论】:

  • 为什么会方便? Here 是类似的讨论。
  • 我想要按顺序运行文件的主要原因是几乎每个文件都有完全相同的设置。设置相当慢,最好在每个其他测试文件之前运行它以腾出一些时间。
  • 为什么慢?它真的是一个带有模拟依赖项的单元测试,还是实际上是一个集成测试?也许是一个带有@Before 的基类并设置了一个静态布尔值,并且只有在它为假时才执行。或者使用辅助类来避免扩展。
  • 我的基类设置为@ignore,否则它会作为junit测试运行并被junit称为失败。至于为什么慢,我很茫然。我很清楚 htmlunit 使用的 rhino js 引擎以速度慢而著称。

标签: java unit-testing junit


【解决方案1】:

要在测试类之间有一个特定的顺序,您可以尝试将您的测试分组到Suite

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
   TestJunit1.class,
   TestJunit2.class})
public class JunitTestSuite {   
}

看看这个answer

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 2012-03-28
    • 2018-01-07
    • 1970-01-01
    相关资源
    最近更新 更多