我是android测试界的新手,单元测试的示例提到了AndroidJunit4
runner的使用。我偶然发现另一个跑步者叫AndroidJUnitRunner
。现在,我看到了这两个类的文档,乍一看,区别似乎在于AndroidJunit4
支持junit4,特别是AndroidJUnitRunner
支持junit3和junit4,但是如果您查看类结构和可用的方法,这两个运行程序之间实际上有很大的区别。
对于ex,AndroidJUnitRunner
从以下类扩展:
并且,AndroidJunit4
从,
那么,这两个跑步者和我最后应该使用哪一个跑步者有什么区别呢?
最佳答案
我最近花了不少时间在这些课上。简而言之:两者都用。AndroidJUnitRunner
是仪表流道。这实际上是运行整个测试套件的入口点。它控制测试环境、测试apk,并启动测试包中定义的所有测试。在gradle文件中配置此项:
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
AndroidJUnit4
是类测试运行程序。这将驱动一个类的测试。您可以用以下内容注释您的测试类:@RunWith(AndroidJUnit4.class)
public class MyActivityTest { ... }
instrumentation runner将处理每个测试类并检查其注释。它将确定用
@RunWith
设置哪个类运行器,初始化它,并使用它在该类中运行测试。在android的例子中,AndroidJUnitRunner
显式地检查AndroidJUnit4
类运行器是否设置为允许向其传递配置参数。一个教育练习是在每个类中设置断点并逐步执行代码。这是我最近为了解上述信息所做的。希望能有帮助!