Eclipse学习4-在Eclipse中使用JUnit进行单元测试(上)

发表于:2007-07-01来源:作者:点击数: 标签:
使用JUnit进行测试 JUnit是与Eclipse一起提供的一个 开源 测试框架 。在同一个Project中,可以创建与其它class无异的基于JUnit的class,并使用此JUnit代码去测试project中的其它class。JUnit的此种使用方式能够为每位在此应用程序上工作的人员构建一组标准的

使用JUnit进行测试







































































JUnit是与Eclipse一起提供的一个开源测试框架。在同一个Project中,可以创建与其它class无异的“基于JUnit”的class,并使用此JUnit代码去测试project中的其它class。JUnit的此种使用方式能够为每位在此应用程序上工作的人员构建一组标准的测试。如果当更改了应用程序代码以后,他们所需做的工作仅仅是点击几下按钮来验证此应用程序是否依然能够通过标准测试。







































































JUnit被用来测试代码,并且它是由能够测试不同条件的断言方法(assertion method)组成,如下所示:



assertEquals(a, b)



测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法)



assertFalse(a)



测试a是否为false(假),a是一个Boolean数值。



assertNotNull(a)



测试a是否非空,a是一个对象或者null。



assertNotSame(a, b)



测试a和b是否没有都引用同一个对象。



assertNull(a)



      测试a是否为null,a是一个对象或者null。











































































 assertSame(a, b)  



测试a和b是否都引用同一个对象。











































































assertTrue(a)









































































测试a是否为true(真),a是一个Boolean数值。







































































我们使用这些方法来构建JUnit测试。当运行一个JUnit应用程序时,它打开自己的视图(view)来立即指示哪个测试通过了,哪个测试失败了。











































































创建测试应用程序







































































我们将在一个例子中使用JUnit来展示它如何在我们创建的应用程序JN_test中运行。此应用程序的意图是简单地为一个整型数组赋值,并通过get和set方法来对它们进行存取。







































































特别地,我们将包含三个方法,它们用来返回可能被用在JUnit中测试的值。
























































































































































































allocate






































分配一个整型数组并且对其赋值;返回新分配的数组。


































































































































































































set




























为整型数组赋值;如果成功返回true,否则返回false。


































































































































































































get




























从整型数组中取值;返回需要的数值。







































































JN_test的最初版本:







































































package net.csdn.blog;











































































public class JN_test {







































































    private int[] array;







































































    public int[] allocate()







































































    {







































































       







































































        array[0] = 0;







































































        array[1] = 1;







































































        array[2] = 2;







































































        return array;







































































    }







































































    public int get(int index){







































































        return array[index];







































































    }







































































    public boolean set(int index,int value){







































































        if(index<array.length && index >=0)







































































        {







































































            array[index] = value;







































































            return true;







































































        }







































































        else







































































            return false;







































































    }







































































}







































































allocate方法分配一个整型数组,对其进行赋值,并返回此数组:







































































private int[] array;













































































public int[] allocate( ) {

       array[0]=0;

       array[1]=1;

       array[2]=2;

       return array;
























































































































































































}






































get方法在数组的给定位置取整数值:







































































public int get(int index) {











































































        return array[index];
























































































































































































}






































set方法为给定的位置赋整数值,按条件返回true或者false。







































































public boolean set(int index, int value) {











































































        if (index < array.length && index >= 0) {

        array[index]=value;

        return true;


































































































































































































        } else {
































                return false;
























































































































































































        }










































}







































































接下来就是使用JUnit测试所有这些方法:allocate , set和get。






































































安装JUnit
为了使用JUnit(更多细节请参考http://www.junit.org ),必须在project的classpath中添加junit.jar。因此,建立一个新的classpath变量JUNIT。选择Window->Preferences菜单栏打开Preferences对话框,展开Java结点,选择Build Path->Classpath Variables项。



然后点击New按钮打开New Variable Entry菜单,输入新的变量名:JUNIT,设置路径为junit.jar.在Eclipse3.0.2中,能够在eclipse/plugins/org.junit_3.8.1/junit.jar下找到junit.jar。



然后点击OK。

为了debug的需要,也要添加JUnit包的源代码(这是一个可选步骤;在此例子中我们不使用JUnit源代码)。你将在\eclipse\plugins\org.eclipse.jdt.source_3.0.2 rc目录中发现许多包的源代码的JAR文件。为JUnit源代码创建一个新的变量,按照上面创建JUNTIT的步骤,不过此变量名为JUNIT_SRC(通常在源代码变量前面添加前缀_SRC)并且将它连接到\eclipse\plugins\org.eclipse.jdt.source_3.0.2 rc\org.junit_3.8.1/junitsrc.zip。









































































创建此变量以后,在project JN_test上单击鼠标右键,选择Properties,打开JN_test的属性对话框,点击Java Build Path项和Libraries选项。并Add Variable,添加JUNIT变量,所得如图所示:







当展开一个JAR文件结点的时候,能够指定在何处寻找相关联的源代码和Javadoc。为了对这里的源代码使用JUNIT_SRC,选择结点中的Source Attachement,单击edit打开Source Attachment Configuration对话框。点击Variable按钮,双击JUNIT_SRC,并点击OK关闭此对话框。如图所示:











这里我们已经使JUnit的源代码能在Eclipse上使用。点击OK关闭JN_test的属性对话框。

未完,待续…………在Eclipse中使用JUnit进行单元测试(下)

原文转自:http://www.ltesting.net