1. InstrumentationTestRunner类的学习:
InstrumentationTestRunner : public TestSuite getAllTests()
该类的这个方法是创建测试项,
TestSuite suite = new InstrumentationTestSuite(this);
TestSuite:测试节点,记录要测试的项目。
源代码:
@Override
public void addTestSuite(Class testClass) {
addTest(new InstrumentationTestSuite(testClass, mInstrumentation));
}
通过调用addTestSuite方法依次将要测试的方法加入到测试项中,如果直接加入的是一个测试类,将执行该类中所有的测试方法;
也可以加入一个测试类,并指定将要执行的测试方法,下面是个简单的示例:
@Override
public TestSuite getAllTests() {
TestSuite suite = new TestSuite();
suite.addTest(new TestMethod(methodName, TestClass.class));
suite.addTestSuite(TestClass.class);
return suite;
}
ActivityInstrumentationTestCase >类的使用学习:
public ActivityInstrumentationTestCase(String pkg, Class
this(pkg, activityClass, false);
}
该方法为ActivityInstrumentationTestCase的构造方法,可以看出TestCase需要传入两个参数分别为package name和activity.class。
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
该类还有两个重要的方法:setUp()和tearDown(),通过查看类的源码了解该类在什么时候进行执行。
其中setUp()方法会在一开始被自动调用,因此我们可以在里面做一些测试所需的初始化操作;
tearDown()方法则会在测试程序结束的时候做一些释放等动作。
AndroidManifest.xml中配置测试项:
android:label="label">
注意:
该方法中的所有的需要被调用的测试方法都需要以test开头,才能被识别为测试方法,从而被系统调用。