如何在测试类的仪器测试中设置顺序?
Posted
技术标签:
【中文标题】如何在测试类的仪器测试中设置顺序?【英文标题】: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 之前进行测试。 我怎样才能做到这一点?有可能吗?
【问题讨论】:
【参考方案1】:首先,我建议您在测试中不要有任何依赖项。即 Test A
类和 Test B
类应该彼此独立运行。
当您的应用程序增长时,这真的很有帮助。
不应该存在一个测试应该在另一个测试之前运行的条件。 只有在罕见/真实场景中,我们才应该对序列有这种依赖。
因为如果您使用与序列相关的依赖项来设计测试,那么您将很难维护您的测试用例,并且当您遵循测试驱动开发 (TDD) 时会变得很困难。
对于上述情况,请尝试使用SuiteClasses
。SuiteClasses
注释指定套件运行程序要包含在此套件中的测试类以及顺序。
请参考Junit TeamHERE提供的示例
【讨论】:
以上是关于如何在测试类的仪器测试中设置顺序?的主要内容,如果未能解决你的问题,请参考以下文章