Android之单元测试学习(转载)
原文地址:http://www.cnblogs.com/devinzhang/archive/2012/01/28/2330316.html
1.单元测试概念
单元测试(又称为模块测试),检验程序模块(软件设计的最小单位)正确性的测试工作,常常是程序员写的一段代码。对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。
android中的测试框架是扩展的junit3,所以在学习android的单元测试之前,可以先学习junit3的使用.junit3要学习的东西其实也不多.
junit3的入门可以参考:http://android.blog.51cto.com/268543/49994
文档:http://wenku.baidu.com/view/87a176abd1f34693daef3e54.html
我在android的单元测试中所涉及到的相关类:
ActivityInstrumentationTestCase:初次做测试的话可以暂时不用考虑该类.
ActivityInstrumentationTestCase2:该类主要进行activity的功能测试和activity的交互测试.例如:Activity的跳转,UI的交互等.我用的最多的就是这个类.
SingleLaunchActivityTestCase:该测试用例仅调用setUp()和tearDown()一次,与其他测试用例不一样的是每调用一次测试方法,就会重新调用setUp()和tearDown().所以该类是为了测试activity是否能够正确处理多次调用.
ActivityUnitTestCase:主要用于测试Activity,因为它允许注入MockContext和MockApplicaton,所以可以测试Activity在不同资源和应用的情况.
具体的还可以参考sdk文档:dev guide和api reference.
2.Android单元测试相关类
下图就是android中与测试相关类的uml图:
3.案例: