我是Android测试世界的新手,单元测试的样本提到AndroidJunit4
跑步者的使用。我偶然发现了一位名叫AndroidJUnitRunner
的跑步者。现在,我看到了这两个类的文档,乍一看,似乎不同之处在于AndroidJunit4
支持JUnit4,尤其是AndroidJUnitRunner
支持JUnit3和JUnit4但是如果你研究类结构和可用的方法,实际上这两个跑步者之间存在巨大差异。
例如,AndroidJUnitRunner
来自以下类:
而且,AndroidJunit4
来自,
那么,两位选手之间有什么区别?我最终应该使用哪名选手?
答案 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
类运行器是否设置为允许将配置参数传递给它。
教育练习是在每个类中放置断点并逐步执行代码。这是我最近学到的以上信息。希望有所帮助!