单元测试教程(一):Junit3的使用
2017-02-17 15:02
525 查看
junit3的使用
在360OS的项目中,我进行了简单的单元测试,采用的junit3,虽然说因为种种原因,没有起到很大的作用,但是思路还是很重要的,还是值得和大家分享。
Junit3 的实用例子
我们找其中一个的方法,对其进行单元测试
单元测试的代码:
右键点击,testJBu ,选择Run as -> Junit test,绿色,说明8个测试用例都执行通过,若有一个失败,则为红色
new verifyAssert().verifyEquals(result, 2, remark, “com.bjcj.OS.JB”, “testJBu”, “testJuBu2”); ? 你有留意到这句代码是干什么的吗?
我们在下一个教程中进行分解。
在360OS的项目中,我进行了简单的单元测试,采用的junit3,虽然说因为种种原因,没有起到很大的作用,但是思路还是很重要的,还是值得和大家分享。
Junit3 的实用例子
import junit.framework.TestCase; //Unit3中,测试类需要继承junit.framework.TestCase类 public class testQZ extends TestCase { public void setUp(){ //setUp方法会在每个测试用例执行前被调用以完成初始化工作 } public void tearDown(){ //tearDown方法则在结束测试结果时被调用,用于释放测试使用中的资源 } //方法名必须以“test”为前缀,它必须返回void,而且它必须没有任何参数 public void testTest(){ assertTrue(1==1); } }
我们找其中一个的方法,对其进行单元测试
/** * 这个判断展示windows形式广告还是barnner形式广告的方法 * 如果触发展示bar广告,则show=1,如果距离上次展示的时间间隔>配置文件中设置的时间间隔,则展示bar形式的广告,看看下面的代码,其实很好理解 * 1:展示bar形式的广告 2 :展示window形式的广告 -1:表示不展示广告 * @param show 展示bar或者win * @param noti_bar_fre bar的局部更新时间 * @param noti_window_fre win的局部更新时间 * @param time 时间间隔 * @return */ private int show_lo_fre(int show,int noti_bar_fre ,int noti_window_fre ,int time) { switch (show) { case 1: // bar if (time > noti_bar_fre ) { return 1; } else if (time > noti_window_fre) { return 2; } return -1; case 2: // window if (time > noti_window_fre) { return 2; } else if (time > noti_bar_fre) { return 1; } return -1; default: return -1; } }
单元测试的代码:
import junit.framework.TestCase; public class testJBu extends TestCase { //为了方便讲解,我们直接将方法引入进来 private int show_lo_fre(int show,int noti_bar_fre ,int noti_window_fre ,int time) { switch (show) { case 1: // bar if (time > noti_bar_fre ) { return 1; } else if (time > noti_window_fre) { return 2; } return -1; case 2: // window if (time > noti_window_fre) { return 2; } else if (time > noti_bar_fre) { return 1; } return -1; default: return -1; } } public void setUp(){ } public void tearDown(){ } /** * 触发展示bar时间,show = 1 */ //bar time<noti_bar_fre time<noti_window_fre 结果都不展示 -1 public void testJuBu1(){ int show = 1; int noti_bar_fre = 10; int noti_window_fre = 20; int time = 5 ; int result = show_lo_fre(show,noti_bar_fre ,noti_window_fre ,time); String remark = "测试局部时间的逻辑:time为间隔时间,time<noti_bar_fre time<noti_window_fre 结果都不展示 -1(不展示)"; new verifyAssert().verifyEquals(result, -1, remark, "com.bjcj.OS.JB", "testJBu", "testJuBu1"); } //bar time<noti_bar_fre time>noti_window_fre 结果展示 2 public void testJuBu2(){ int show = 1; int noti_bar_fre = 10; int noti_window_fre = 2; int time = 5 ; int result = show_lo_fre(show,noti_bar_fre ,noti_window_fre ,time); String remark = "测试局部时间的逻辑:time为间隔时间,time<noti_bar_fre time>noti_window_fre 结果展示 2(展示win广告)"; new verifyAssert().verifyEquals(result, 2, remark, "com.bjcj.OS.JB", "testJBu", "testJuBu2"); } //......此处省略了N个条件组合的测试用例,都是类似的格式,每个条件都是要覆盖到的,比较多,我这里就不一一列举了 }
右键点击,testJBu ,选择Run as -> Junit test,绿色,说明8个测试用例都执行通过,若有一个失败,则为红色
new verifyAssert().verifyEquals(result, 2, remark, “com.bjcj.OS.JB”, “testJBu”, “testJuBu2”); ? 你有留意到这句代码是干什么的吗?
我们在下一个教程中进行分解。
相关文章推荐
- 在Myeclipse里使用Junit贴图教程与使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- Junit 实例精讲基础教程(三) 使用@Test(timeout=5000)模拟超时进行单元测试
- Junit 实例精讲基础教程(一) 使用@Ignore注解跳过单元测试方法的执行
- Struts2单元测试 使用Junit测试Action
- 在Eclipse中使用JUnit进行单元测试
- 使用Junit对Android应用进行android3.0单元测试
- 使用Junit对Android应用进行单元测试
- 在Eclipse中使用JUnit进行单元测试
- Nunit单元测试工具使用教程
- 使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- 在Eclipse中使用JUnit进行单元测试
- All About JAVA 使用JUnit 进行单元测试
- 在Eclipse中使用JUnit进行单元测试(上)
- Eclipse中使用JUnit插件做单元测试
- java单元测试(使用junit)
- 使用SpringJUnit支持 单元测试
- Eclipse学习4-在Eclipse中使用JUnit进行单元测试(下)
- 使用 JUnit 对规则进行单元测试
- 使用Groovy+JUnit+GMock进行单元测试
- 【软件测试】使用JUnit框架实现Java单元测试