【发布时间】:2018-07-26 16:48:33
【问题描述】:
有没有办法指定 Gradle Test 任务运行的单元测试类的顺序?
我想在列表的前面或后面获取一些已知的运行时间较长的测试,但不知道是否可以不将我的测试在多个任务之间执行。
运行 JUnit 4.12 和 Gradle 4.5。
【问题讨论】:
-
我很确定答案是 Gradle 刚刚启动 JUnit,因此您必须使用 JUnit 排序机制。
有没有办法指定 Gradle Test 任务运行的单元测试类的顺序?
我想在列表的前面或后面获取一些已知的运行时间较长的测试,但不知道是否可以不将我的测试在多个任务之间执行。
运行 JUnit 4.12 和 Gradle 4.5。
【问题讨论】:
Gradle 只是将执行委托给 JUnit 运行器。
因此,如果您想要特定的测试类排序,您需要创建一个Suite 并按照您想要的顺序指定测试类,请参阅the JUnit documentation 了解这一点。
现在,鉴于 Gradle 在具有不同源根方面的灵活性,我强烈建议在 Gradle 级别进行分离,通过创建额外的测试源根、测试任务等。这将允许您有效地控制这些长时间运行的测试何时在标准 build 执行中运行,但也可以跳过它们或仅在需要时运行它们。如果不进行更多调整,JUnit 级别的排序将不会提供这种灵活性。有关添加源集的信息,请参阅 the Gradle documentation。
【讨论】: