JUNIT使用教程

这篇博客详细介绍了如何使用JUnit进行单元测试,包括创建测试用例、 setUp方法、断言验证、测试套件与执行器的使用,以及如何在主函数中运行测试。
摘要由CSDN通过智能技术生成
使用目的 

       junit是java中书写unit test的framework,目前一些流行的unit test工具大都都是在junit上扩展而来的。目前它的版本是junit3.8.1,可以从www.junit.org上下载。 

Eclipse中配置junit 

在要使用JUNIT的project名上,点击properties--java build path-libraries, 点击Add External JARs,把JUNIT包点上就行了. 并在需要测试的项目上新建junit test case 


用法 

1.       基本使用步骤,Junit的使用非常简单,它的基本使用步骤: 

-          创建,从junit.framework.TestCase派生unit test需要的test case 

-          书写测试方法,提供类似于如下函数签名的测试方法: 

public void testXXXXX(); 

-          编译,书写完test case后,编译所写的test case类 

-          运行,启动junit test runner,来运行这个test case。 

Junit提供了2个基本的test runner:字符界面和图形界面。启动命令分别如下: 

a 图形界面: 

java junit.swingui.TestRunner XXXXX 

b 字符界面: 

java junit.textui.TestRunner XXXXX 

2.       使用例子: 

import junit.frmework.TestCase; 

public class TestSample extends TestCaset{ 

              public void testMethod1(){ 

                     assertTrue( true); 

} } 

3.       setUp与tearDown,这两个函数是junit framework中提供初始化和反初始化每个测试方法的。setUp在每个测试方法调用前被调用,负责初始化测试方法所需要的测试环境;tearDown在每个测试方法被调用之后被调用,负责撤销测试环境。它们与测试方法的关系可以描述如下: 

     测试开始 -> setUp -> testXXXX -> tearDown ->测试结束 


4.       使用例子: 

import junit.frmework.TestCase; 

public class TestSample extends TestCaset{ 

              protected void setUp(){ 

                     //初始化…… 



              public void testMethod1(){ 

                     assertTrue( true); 




potected void tearDown(){ 

       //撤销初始化…… 

} } 

5.       区分fail、exception。 

-          fail,期望出现的错误。产生原因:assert函数出错(如assertFalse(true));fail函数产生(如fail(……))。 

-          exception,不期望出现的错误,属于unit test程序运行时抛出的异常。它和普通代码运行过程中抛出的runtime异常属于一种类型。 

对于assert、fail等函数请参见junit的javadoc。 

6.       使用例子: 

import junit.frmework.TestCase; 

public class TestSample extends TestCaset{ 

              protected void setUp(){ 

                     //初始化…… 



              public void testMethod1(){ 

                     …… 

                     try{ 

                            boolean b= …… 

                            assertTrue( b); 

                            throw new Exception( “This is a test.”); 

                            fail( “Unable point.”);     //不可能到达 

                     }catch(Exception e){ 

                            fail( “Yes, I catch u”); //应该到达点 



…… 



potected void tearDown(){ 

       //撤销初始化…… 

} } 

7.       组装TestSuite,运行更多的test。在junit中,Test、TestCase和TestSuite三者组成了composiste pattern。通过组装自己的TestSuite,可以完成对添加到这个TestSuite中的所有的TestCase的调用。而且这些定义的 TestSuite还可以组装成更大的TestSuite,这样同时也方便了对于不断增加的TestCase的管理和维护。 

       它的另一个好处就是,可以从这个TestCase树的任意一个节点(TestSuite或TestCase)开始调用,来完成这个节点以下的所有TestCase的调用。提高了unit test的灵活性。 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值