AndroidJUnitRunner和AndroidJunit4有什么区别?

时间:2017-08-27 15:15:25

标签: android junit android-instrumentation

我是Android测试世界的新手,单元测试的样本提到AndroidJunit4跑步者的使用。我偶然发现了一位名叫AndroidJUnitRunner的跑步者。现在,我看到了这两个类的文档,乍一看,似乎不同之处在于AndroidJunit4支持JUnit4,尤其是AndroidJUnitRunner支持JUnit3和JUnit4但是如果你研究类结构和可用的方法,实际上这两个跑步者之间存在巨大差异。

例如,AndroidJUnitRunner来自以下类:

enter image description here

而且,AndroidJunit4来自,

enter image description here

那么,两位选手之间有什么区别?我最终应该使用哪名选手?

1 个答案:

答案 0 :(得分:16)

我最近花了很多时间在这些课程上。简短回答:你使用两个

AndroidJUnitRunner instrumentation 的参赛者。这基本上是运行整个测试套件的切入点。它控制测试环境,测试apk,并启动测试包中定义的所有测试。您可以在gradle文件中配置它:

android {
    defaultConfig {
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
}

AndroidJUnit4测试运行器。这将驱动单个类的测试。您可以使用以下方法注释测试类:

@RunWith(AndroidJUnit4.class)
public class MyActivityTest { ... }

instrumentation 运行器将处理每个测试类并检查其注释。它将确定使用@RunWith设置哪个 class 运行器,初始化它,并使用它来运行该类中的测试。在Android的情况下,AndroidJUnitRunner显式检查AndroidJUnit4类运行器是否设置为允许将配置参数传递给它。

教育练习是在每个类中放置断点并逐步执行代码。这是我最近学到的以上信息。希望有所帮助!