如何在测试类的仪器测试中设置顺序?

问题描述

我想为测试类设置一个顺序。

@RunWith(AndroidJUnit4::class)
@FixMethodorder(MethodSorters.NAME_ASCENDING)
class ATest {
  @Test
  fun test0000()

  @Test
  fun test0001()
}
@RunWith(AndroidJUnit4::class)
@FixMethodorder(MethodSorters.NAME_ASCENDING)
class BTest {
  @Test
  fun test0002()

  @Test
  fun test0003()
}

我想测试 ATest.test0000 -> ATest.test0001 -> BTest.test0002 -> BTest.test0003

因为ATest类必须在B Test之前进行测试。 我怎样才能做到这一点?可能吗?

解决方法

首先,我建议您不要在测试中添加任何依赖项。
Test A 类和 Test B 类应该彼此独立运行。
当您的应用程序增长时,这真的很有帮助。

不应该有一个测试应该在另一个之前运行的条件。
只有在罕见/真实的情况下,我们才应该对序列有这种依赖性。

因为如果您设计的测试具有与序列相关的依赖性,那么您将很难维护您的测试用例,并且当您遵循测试驱动开发 (TDD) 时也会变得困难。

对于上述情况,请尝试使用 SuiteClasses
SuiteClasses 注释指定套件运行程序要在此套件中包含哪些测试类以及以何种顺序包含。

请参考 Junit Team HERE

提供的示例