Java单元测试教程.doc

Java单元测试教程.doc

ID:51690287

大小:38.00 KB

页数:8页

时间:2020-03-15

Java单元测试教程.doc_第1页
Java单元测试教程.doc_第2页
Java单元测试教程.doc_第3页
Java单元测试教程.doc_第4页
Java单元测试教程.doc_第5页
资源描述:

《Java单元测试教程.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单元测试教程1、概述  Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。  Junit本质上是一套框架,即开发者制定了一套条条框框,遵循这此条条框框要求编写测试代码,如继承某个类,实现某个接口,就可以用Junit进行自动测试了。  由于Junit相对独立于所编写的代码,可以测试代码的编写可以先于实现代码的编写,XP中推崇的testfirstdesign的实现有了现成的手段:用Junit写测试代码,写实现代码,运行测试,测试失败,修改实现代码,再运行测试,直到测试成功。以后对

2、代码的修改和优化,运行测试成功,则修改成功。  Java下的team开发,采用cvs(版本控制)+ant(项目管理)+junit(集成测试)的模式时,通过对ant的配置,可以很简单地实现测试自动化。  对不同性质的被测对象,如Class,Jsp,Servlet,Ejb等,Junit有不同的使用技巧,以后慢慢地分别讲叙。以下以Class测试为例讲解,除非特殊说明。2、下载安装·去Junit主页下载最新版本3.8.1程序包junit-3.8.1.zip·用winzip或unzip将junit-3.8.1.zip解压缩到某一目录名为$JUNITHOME·

3、将junit.jar和$JUNITHOME/junit加入到CLASSPATH中,加入后者只因为测试例程在那个目录下。·注意不要将junit.jar放在jdk的extension目录下·运行命令,结果如右图。javajunit.swingui.TestRunnerjunit.samples.AllTests 3、Junit架构  下面以Money这个类为例进行说明。publicclassMoney{    private int fAmount;//余额    private String fCurrency;//货币类型     public M

4、oney(int amount, String currency) {        fAmount= amount;        fCurrency= currency;    }    public int amount() {        return fAmount;    }    public String currency() {        return fCurrency;    }        public Money add(Money m) {//加钱        return new Money(amount()

5、+m.amount(), currency());    }        public boolean equals(Object anObject) {//判断钱数是否相等        if (anObject instanceof Money) {            Money aMoney= (Money)anObject;            return aMoney.currency().equals(currency())                && amount() == aMoney.amount();     

6、   }        return false;    }    }  Junit本身是围绕着两个设计模式来设计的:命令模式和集成模式.·命令模式  利用TestCase定义一个子类,在这个子类中生成一个被测试的对象,编写代码检测某个方法被调用后对象的状态与预期的状态是否一致,进而断言程序代码有没有bug。  当这个子类要测试不只一个方法的实现代码时,可以先建立测试基础,让这些测试在同一个基础上运行,一方面可以减少每个测试的初始化,而且可以测试这些不同方法之间的联系。  例如,我们要测试Money的Add方法,可以如下:public class 

7、MoneyTest extends TestCase { //TestCase的子类    public void testAdd() {//把测试代码放在testAdd中        Money m12CHF= new Money(12, "CHF");  //本行和下一行进行一些初始化        Money m14CHF= new Money(14, "CHF");                Money expected= new Money(26, "CHF");//预期的结果        Money result= m12CHF

8、.add(m14CHF);    //运行被测试的方法        Assert.assertTrue(expected

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。