单元测试的作用是测试某些方法是否正常,是否可用。
http://blog.163.com/soul_wing.xyq/blog/static/113513123201293111581692/
其原理就是创建一些专用的测试类,类的方法调用被测试的方法,如果被测试的方法是需要参数的,则在测试类的方法里直接给出参数值,以完成测试,测试结果将会被LogCat记录,通过筛选LogCat以查看测试结果是否正常。
项目背景
开发com.myapp.demo项目,存在com.myapp.service包,包中有FileService类,类中有read(String filePath)方法
// 当然,包名是无所谓的,单元测试可以对整个项目进行测试,出于结构考虑,处理业务逻辑的通常在service包中而已,由于android项目的Package Name是其标识,所以android会根据Package Name来确定对哪个项目进行单元测试测试过程
– 1. 实现测试环境
在AndroidManifest.xml文件中添加新节点
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:label="Test My App"
android:targetPackage="com.myapp.demo" >
</instrumentation>
其中,name值为固定值,lable为任何值,targetPackage值必须是项目的Package Name
然后,在<application>节点内部插入子节点
<uses-library android:name="android.test.runner" />
–2. 开发测试类
a) 在com.myapp.test包中创建FileTest类,并继承AndroidTestCase
b) 声明类属性常量字符串 private static final String TAG = “FileServiceTest”;
c) 编写测试方法testRead(),并在方法内部对FileService实例的read()方法进行测试,如果read()方法有返回值,则取出其返回值,假设返回值赋值到String result变量中
d) 使用 Log.i(TAG, result) 语句,打印日志,日志级别为i (info),日志标签为TAG常量值,即”FileServiceTest”
3) 测试
以Android JUnit Test方式运行testRead(),在LogCat视图中通过info级别或TAG筛选查看测试结果