专业Android Java 技术解答群 严禁无关技术内容聊天 一经发现 立即清退
单元测试
1.搭建项目测试环境 在主文件 AndroidMainfest.xml中的application标签中加入测试类库
<uses-library android:name="android.test.runner" /> 固定写法 与application标签的activity在同一层次 不要放错位置 然后再application标签的结束标签下添加下面代码 (去掉注释)
<instrumentation
<!--android:name="android.test.InstrumentationTestRunner" 固定写法 -->
<!-- android:label="Tests for My App" 可以自己起名 不要该项也行-->
<!-- android:targetPackage="com.itcast.junittest" 单元测试包名 与上面package的值最好保持一样 -->
</instrumentation>
2.编写要测试类的方法和测试类
需要测试类和方法
package com.itcast.service;
public class PersonService {
public int save() {
String in = "123";
int a = Integer.parseInt(in);
return a;
}
}
测试类
package com.itcast.test;
import junit.framework.Assert;
import com.itcast.service.PersonService;
import android.test.AndroidTestCase;
import android.util.Log;
public class PersonServiceTest extends AndroidTestCase {
private static final String TAG = "PersonServiceTest";
/**
* 测试方法以test开头 最好抛出异常 或者跑出Exception的父类Throwable
*
* @throws Exception
*/
public void testSave() throws Exception {
PersonService personService = new PersonService();
int b = personService.save();
System.out.println(b);// 固定tag是System.out
System.err.println("");// 固定tag是System.err
Log.i(TAG, "result: " + b);// android系统内置的往控制台输出信息的方法 可以使.v.d .i .w .e
// 表示不同级别的输出信息 v<d<i<w<e 参数一是在控制台输出的标签值
// 可以添加过滤快速查找 参数 一般都用当前类的类名做tag 2是输出的信息
// 还可在加上一个参数
// exception对象
Assert.assertEquals(123, b);// 判断方法的返回结果是否与预期的值一样
}
}
3.运行测试类 在测试类里邮件 选择run as > android junit test 信息会在jinit 视图中输出 如果有错误的话 上面的横条就会变红色 正常的话就是绿色的
日志
因为android设备存储空间小 不想电脑那么大 所以 android的项目日志只在控制台输出 系统内置的LOG.i(tag,msg)
LOG.v(tag,msg) LOG.d(tag,msg) LOG.w(tag,msg) LOG.e(tag,msg) tag一般为当前类的简单类名的一个字符串 v<d<i<w<e 就是D包括v e包括全部 可以添加tag过滤器 快速的查看输出的信息
System.out.println(b);// 固定tag是System.out
System.err.println("");// 固定tag是System.err