0

我想为测试类设置一个订单。

@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 之前进行测试。我怎样才能做到这一点?可能吗?

4

1 回答 1

1

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

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

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

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

请参考 Junit Team HERE提供的示例

于 2021-02-23T07:05:34.530 回答