我是android测试界的新手,单元测试的示例提到了AndroidJunit4runner的使用。我偶然发现另一个跑步者叫AndroidJUnitRunner。现在,我看到了这两个类的文档,乍一看,区别似乎在于AndroidJunit4支持junit4,特别是AndroidJUnitRunner支持junit3和junit4,但是如果您查看类结构和可用的方法,这两个运行程序之间实际上有很大的区别。
对于ex,AndroidJUnitRunner从以下类扩展:
android - AndroidJUnitRunner和AndroidJunit4有什么区别?-LMLPHP
并且,AndroidJunit4从,
android - AndroidJUnitRunner和AndroidJunit4有什么区别?-LMLPHP
那么,这两个跑步者和我最后应该使用哪一个跑步者有什么区别呢?

最佳答案

我最近花了不少时间在这些课上。简而言之:两者都用。
AndroidJUnitRunner是仪表流道。这实际上是运行整个测试套件的入口点。它控制测试环境、测试apk,并启动测试包中定义的所有测试。在gradle文件中配置此项:

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

AndroidJUnit4是类测试运行程序。这将驱动一个类的测试。您可以用以下内容注释您的测试类:
@RunWith(AndroidJUnit4.class)
public class MyActivityTest { ... }

instrumentation runner将处理每个测试类并检查其注释。它将确定用@RunWith设置哪个类运行器,初始化它,并使用它在该类中运行测试。在android的例子中,AndroidJUnitRunner显式地检查AndroidJUnit4类运行器是否设置为允许向其传递配置参数。
一个教育练习是在每个类中设置断点并逐步执行代码。这是我最近为了解上述信息所做的。希望能有帮助!

07-24 09:47