Junit3.8
2015-07-29 17:49
295 查看
使用Junit的最佳实践:新建一个名为test的source folder,用于存放测试类源代码目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面
测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculator或者是CalculatorTest
Junit:单元测试不是为了证明是对的,而是为了证明没有错误。
测试用例(Test Case)是单元测试的一个很重要的方面。测试类必须要继承于TestCase父类。
单元测试主要是用来判断程序的执行结果与自己期望的结果是否一致。
在junit 3.8中,测试方法需要满足如下原则:public的,void的,无方法参数,方法名称必须以test开头.
Test Case之间一定要保持完全的独立性,不允许出现任何的依赖关系。我们不能依赖于测试方法的执行顺序。
关于setUp与tearDown方法的执行顺序:
setUp()
testXXX()//测试方法
tearDown()
测试之前是什么状态,测试执行完毕后就应该是什么状态,而不应该由于测试执行的原因导致状态发生了变化。
代码示例:
View Code
测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculator或者是CalculatorTest
Junit:单元测试不是为了证明是对的,而是为了证明没有错误。
测试用例(Test Case)是单元测试的一个很重要的方面。测试类必须要继承于TestCase父类。
单元测试主要是用来判断程序的执行结果与自己期望的结果是否一致。
在junit 3.8中,测试方法需要满足如下原则:public的,void的,无方法参数,方法名称必须以test开头.
Test Case之间一定要保持完全的独立性,不允许出现任何的依赖关系。我们不能依赖于测试方法的执行顺序。
关于setUp与tearDown方法的执行顺序:
setUp()
testXXX()//测试方法
tearDown()
测试之前是什么状态,测试执行完毕后就应该是什么状态,而不应该由于测试执行的原因导致状态发生了变化。
代码示例:
package junit; public class Largest { public int getLargest(int[] array) throws Exception { if(null == array || 0 == array.length) { throw new Exception("数组不能为空!"); } int result = array[0]; for(int i = 0; i < array.length; i++) { if(result < array[i]) { result = array[i]; } } return result; } } /* *测试方法 */ package junit; import junit.framework.Assert; import junit.framework.TestCase; public class LargestTest extends TestCase { private Largest largest; public void setUp() { largest = new Largest(); } public void testGetLargest() { int[] array = { 1, 9, -10, -20, 23, 34 }; int result = 0; try { result = largest.getLargest(array); } catch (Exception ex) { Assert.fail("测试失败"); } Assert.assertEquals(34, result); } public void testGetLargest2() { Throwable tx = null; int[] array = {}; try { largest.getLargest(array); Assert.fail("测试失败"); } catch (Exception ex) { tx = ex; } Assert.assertNotNull(tx); Assert.assertEquals(Exception.class, tx.getClass()); Assert.assertEquals("数组不能为空!", tx.getMessage()); } public void testGetLargest3() { Throwable tx = null; int[] array = null; try { largest.getLargest(array); Assert.fail(); } catch (Exception ex) { tx = ex; } Assert.assertNotNull(tx); Assert.assertEquals(Exception.class, tx.getClass()); Assert.assertEquals("数组不能为空!", tx.getMessage()); } }
View Code
相关文章推荐
- PHP中刷新输出缓冲,立即输出数据
- Import Data from *.xlsx file to DB Table through OAF page(转)
- 分布式Hadoop和HBase整合
- $.ajax()方法详解
- Java实现二分查找算法实例分析
- 解决:无法使用前导 .. 在顶级目录上退出
- 密码学(一)、基础
- Cocos2dx之CCLayer层
- 用VS2010编写Python的dll扩展问题
- iOS开发——动画编程OC篇&(五)动画组
- 关于iOS 请求乱码问题 (改变编码方式为GBK)
- Hibernate和Ibatis区别
- Android学习笔记:Home Screen Widgets(1):大约Widget
- Linux常用命令大全3
- python设计模式之备忘录模式
- nginx 负载均衡
- 关于IOS资源图片命名问题。
- 线程创建与终止(Linux_C++)
- Mysql "Cannot create windows service for mysql.error:0" 安装删除windows服务
- LeetCode(113) Path Sum II