单元测试就是一个简单的测试,我觉得程序员是必须要知道的,单元测试就是对业务逻辑代码进行测试。当在一个团队写代码的时候,别人调用你的代码就出现bug,那别人肯定会说你写的代码烂,对吧,你只要说:我写了单元测试的,我的代码没有问题,不信你去测试,对吧。这样是不是肯定就是别人的代码写得烂,是吧。
单元测试目标:方法
那单元测试主要去测试什么呢? 1) 测试方法能否执行。 2) 测试方法的返回值是否正确,也就是所谓的断言测试。
先说下第一点------测试方法能否成功执行
1、创建业务类
package cn.huse.junit.service;
/**业务类
* @return
*/
public class HumanService {
String name = "qingliang";
public String getName(){
return name.substring(0,4);
}
}
2、配置清单文件
3、编写测试类
package cn.huse.junit.test;
import android.test.AndroidTestCase;
import cn.huse.junit.service.HumanService;
import junit.framework.Assert;
/**测试类
* 1.必须继承AndroidTextCase
* 2.最好以业务类Test命名
* 3 测试类放在.test包下
* @author
*
*/
public class HumanServiceTest extends AndroidTestCase {
/**
* @throws Exception
* 测试方法
*/
public void textGetName()throws Exception{
HumanService humanService = new HumanService();
humanService.getName();
}
}
4、进入Outline,进入Outline是一定要进入的是测试类 选择测试方法右击--->run as----->android junit test
这就是测试一个方法能不能成功执行的步骤,然后说下断言测试,其实步骤差不多,就是在测试的时候会有一点点的改变。
在上面的业务类中添加一个方法
public int add(int a, int b){
return a*b;
}
在上面的测试类中添加一个测试方法
public void textAdd()throws Exception{
HumanService humanService = new HumanService();
int actual = humanService.add(2, 5);
//断言 第一个参数是希望结果,第二个参数是调用方法的的返回值
Assert.assertEquals(7, actual);
}
在进行测试就好了,只是这里肯定会出错的。
测试代码可以写在同一应用程序里面,也可以写一个单独的测试工程。
步骤:
1 new
2 选择要测试的工程
3 测试的配置文件会自动生成,只需要编写测试代码