博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JUnit 3一个例子就懂
阅读量:6882 次
发布时间:2019-06-27

本文共 3649 字,大约阅读时间需要 12 分钟。

 

   JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.

 

    JUnit是一个回归测试框架,用于编写和运行可重复的测试。它有以下特性:

 

1、用于测试期望结果的断言(Assertion)。2、用于共享共同测试数据的测试工具。3、用户方便的组织和运行测试的测试套件。4、图形和文本的测试运行器。

     

   本篇博客通过一个简单的实例来展示JUnit3用于测试期望结果的断言这一特性,一个例子足以。

  1、建立一个Java Program,引入JUnit的jar包,新建一个名为test的Source Folder,把那些测试类都放在这个文件夹下。

  2、新建一个Package,将测试类和需要测试的目标类全部放在一个包里,需要给测试用类已Test为开头或结尾来命名,以区分和联系目标类。

   3、展示例子:

    (1)首先建立一个简单到不能再简单的目标类。命名为UserManager.class.

 

2  3 import javax.management.RuntimeErrorException; 4  5 public class UserManager { 6     /** 7      * 一个简单的虚拟用户添加方法 8      * @author 巨亚红 9      * @date 2014-4-14 下午3:58:5110      * @版本 V1.0   作者: 时间:  修改:11      * @param userName12      */13     public void addUser(String userName){14         15         System.out.println("userManger.addUser");16         //throw new RuntimeException();17     }18     /**19      * 一个简单的虚拟用户删除方法20      * @author 巨亚红21      * @date 2014-4-14 下午3:59:2322      * @版本 V1.0   作者: 时间:  修改:23      * @param userName24      */25     public void deleteUser(String userName){26         27         System.out.println("userManger.deleteUser");28     }29     /**30      * 一个简单的虚拟根据用户ID查找用户的方法31      * @author 巨亚红32      * @date 2014-4-14 下午3:59:4333      * @版本 V1.0   作者: 时间:  修改:34      * @param userId35      * @return36      */37     public String findUserById(String userId){38         return "Jessica";39     }40 }

 

 

 

    (2)添加或编写测试类。如果使用My Eclipse,可以直接在目标类右击---添加----JUnit Test Case,然后就会弹出相应的页面,可以选择New JUnit3 test 也可以选择New JUnit 4 test。我们本博客讲JUnit3,所以选3。编写UserManagerTest.java测试类如下,重要的是先要继承TestCase.java

2  3  4 import junit.framework.TestCase; 5  6 //继承TestCase类很重要 7 public class UserManagerTest extends TestCase { 8     /** 9      * 测试addUser方法10      * @author 巨亚红11      * @date 2014-4-14 下午4:07:2812      * @版本 V1.0   作者: 时间:  修改:13      */14     public void testAddUser(){15         UserManager userManager=new UserManager();16         userManager.addUser("Jessica");17         System.out.println("UserManagerTest.testAddUser");18         19     }20     /**21      * 测试deleteUser方法22      * @author 巨亚红23      * @date 2014-4-14 下午4:07:4624      * @版本 V1.0   作者: 时间:  修改:25      */26     public void testDeleteUser(){27         UserManager userManager=new UserManager();28         userManager.deleteUser("Jessica");29         System.out.println("UserManagerTest.testDeleteUser");30         31     }32     /**33      * 测试findUserById方法34      * @author 巨亚红35      * @date 2014-4-14 下午4:07:5936      * @版本 V1.0   作者: 时间:  修改:37      */38      public void testFindUserById(){39         UserManager userManager=new UserManager();40         String userName=userManager.findUserById("000");41         42         System.out.println("UserManagerTest.testFindUser----userName="+userName);43         //定义你的期望值44         String excepted="Jessica";45         //如果期望值为Juyahong,JUnit就会提示报错。46         //String excepted="Juyahong";47         this.assertEquals(excepted, userName);48         49     }50 }

 

 

 

   通过this.assertEquals(expected, actual)来测试预期结果与实际结果是否匹配,如果匹配,JUnit就会显示绿色,如果不一样就提示红色。

正确:

 

错误:

  

  当然现在已有JUnit4,它与JUnit3的区别有以下几点:

    1. JUnit4利用了 Java 5 的新特性"注释",每个测试方法都不需要以testXXX的方式命名,运行时不在用反射机制来查找并测试方法,取而带之是用@Test来标注每个测试方法,效率提升

    2. JUnit4中测试类不必继承TestCase了,另外要注意JUnit4和JUnit3引入的包完全不同。
            PS:在Eclipse中要使用Junit的话,必须要添加Junit的library。
    3.JUnit4和JUnit3在测试Suite时也有很大不同,即在测试套件时它们有区别,JUnit4在测试套件时,必须构造一个空类,而且使用Annotation的形式,即
@RunWith(Suite.class)
@Suite.SuiteClasses({ShoppingCartTest.class,ProductTest.class}),而JUuni3则是普通的直接用函数调用,添加Suite。

  下篇博客将详细讲述JUnit4的详细使用,看看它的进步之处在哪里。

  

转载于:https://www.cnblogs.com/jyh317/p/3664296.html

你可能感兴趣的文章
linux配置网卡
查看>>
正则表达式语法
查看>>
013、Dockerfile构建镜像(2019-01-02 周三)
查看>>
c# mvc如何获取xml文件
查看>>
mongodb Java(八)
查看>>
JavaScript随机数
查看>>
ASP.NET验证控件——RequiredFieldValidator
查看>>
strstr
查看>>
MySQL 条件 select case 的实现(解决 零 做分母的问题 )
查看>>
openNebula rgister img instance vms error collections
查看>>
error Infos
查看>>
PL/sql配置相关
查看>>
接着浅析table-cell的简单应用
查看>>
Project 10:简单图像的绘制
查看>>
(第五条)避免创建不必要的对象
查看>>
MongoDB的快速手动安装
查看>>
面试常见问题(转载)
查看>>
洛谷P3306 随机数生成器
查看>>
《平凡的世界》中田晓霞和孙少平的爱情
查看>>
【资源共享】《DDR常见问题简单排查》
查看>>