【问题标题】:How to set an order in instrumented test over the Test Class?如何在测试类的仪器测试中设置顺序?
【发布时间】:2021-05-25 10:27:02
【问题描述】:

我想设置测试类的顺序。

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

【问题讨论】:

    标签: android android-espresso instrumented-test


    【解决方案1】:

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

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

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

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

    请参考Junit TeamHERE提供的示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 2020-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多