JUnit简介

3 篇文章 0 订阅
Junit3.1.8(Keep the bar green to keep the code clean)
一、系统结构图

二、Junit测试箴言
    1、每次只对一个对象进行UT测试(unit-test one object at a time)这样能使你尽快发现问题,而不被各个对象之间的复杂关系所迷惑。
    2、给测试方法起个好名字(choose meaningful test method names)应该是用形如testXXXYYY(),这样的格式来命名你的测试方法。前缀test是Junit查找测试方法的依据,XXX应该是你测试的方法名,YYY应该是你测试的状态。当然如果你需要一种状态需要测试可以直接命名为testXXX()。
    3、明确写出出错原因(explain the failure reason in assert calls)在使用assertTrue,assertFalse,assertNotNull,assertNull方法时,应该将可能的错误的描述字符串,以第一个参数传入相应的方法。这样放你的迅速找出出错原因。
    4、一个UT测试方法只应该测试一种情况(one unit test equals one testMethod) 一个方法中的多次测试,只会混乱你的测试目的。
    5、测试任何可能的异常(test anything that could possibly fail)
    6、让你的测试帮助改善你的代码(let the test improve the code)测试代码永远是我们代码的第一个用户,所以不仅让他帮组我们发现Bug,还要帮组我们改善我们的设计,就是有名的测试驱动开发(Test-Driven Development,TDD)。
    7、让异常测试更直观(make exception tests easy to read) try { controller.addHandler(request, handler); I fail("An exception should be raised if XXX"); } catch (RuntimeException expected) { assertTrue(true); } 这样如果没有出错,可以很直接看到异常条件。
    8、一样的包,不同的位置(same package, separate directories) 测试的代码和被测试的代码应该放到不同的文件夹中,建议使用这种目录 src/java/代码 src/test/测试代码这样可以让两份代码使用一样的包结构,但是放在不同的目录下。
    9、重构(refactor) 高级话题,通过测试优化代码。
    10、(don’t write business logic in mock objects)
    11、(only test what can possibly break)
    12、(put Cactus tests in their own directories)
    13、(refactor long setups when using mock objects)
    14、(refactor test setups and teardowns)
三、测试的种类 
    
    1、 UT测试
    2、 综合测试
    3、 功能测试
    4、 压力测试
    5、 验收测试
四、存根测试法(主要用于Coarse-grained测试中)
    1、 定义:用于替代现实系统中一部分功能的代码(不要与EJB中的存根混淆)。当无法取得系统测试所必需的组件或者环境比较复杂,无法产生特定结果时,使用存根代码代替特定组件的测试就是存根测试法。如图: (真实系统) (测试系统)使用一个html文件代替了实际的sevlet。就像我们在InfoGrid项目中测试客户端一样。
    2、 原理:使用一段Stub代码,来模仿WebServer,DataBase,FileSystem…….
    3、 弊端:
        1)、如果模拟的环境太复杂那么Stub本身业会变得非常复杂,导致Stub本身需要测试。
        2)、毕竟是一个模拟,并不能完全的代替真实的环境。
五、Testing in isolation with mock Obects测试(主要用于Fine-grained)
    1、定义 mock object:是一个用来代替代码中所需要使用的对象,你可以调用mock object的方法,他会返回给你你自己设定的结果。
    2、优点
        1)、只测试单独的对象,这样出错时,不用再去判断到底是哪个类错误。
        2)、mock Object,不包含任何业务逻辑,简单不需要测试。六、In-container testing with Cactus(http://jakarta.apache.ort/cactus/)没看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值