注:该笔记总结自慕课网的JUnit视频教程,入门级别。


1、JUnit概述


 1.1 什么是JUnit


          a.JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。(xUnit是一套基于测试驱动开发的测试框架,其中包含PythonUnit、CppUnit、JUnit等)


          b.JUnit测试时程序员测试,即所谓的白盒测试,因为程序员知道被测试的软件如何(HOW)完成功能和完成什么样(What)的功能。


          c.多数java的开发环境都已经集成了JUnit作为单元测试的工具,比如Eclipse。


1.3 为什么要使用测试工具


          a.测试框架可以帮助我们对编写的程序进行有目的的测试,提前对代码中的bug进行debug,以保证后续开发过程中被开发系统的正确性与稳定性。


          b.很多人的测试方法是sysout输出控制台观察,这样测试枯燥、繁琐,效率很低。


          c.JUnit的断言机制,可以直接将我们的预期结果和程序运行的结果进行对比,确保对结果的可预知性。


    1.2 相关链接


JUnit官网: http://junit.org/


JUnit的jar包下载:https://github.com/junit-team/junit/wiki/Download-and-Install






2.简单例子快速入门



2.1 创建简单业务类



          使用Eclipse创建一个java项目,导入JUnit相关包。因为eclipse集成了JUnit框架,所以可以直接右键项目,选择Build Path →点击Add Libraries → 选择JUnit → 点击Next,选择JUnit版本,然后Finish。(也可以自己下载jar包作为用户库来添加)。



          编写一个简单的计算类:Calcuate类






     



package util;
 
  

 
  
/**
 
  
 * 实现加减乘除的简单计算类
 
  
 *
 
  
 */
 
  
public class Calculate {
 
  
    public int add(int a,int b){
 
  
        return a+b;
 
  
    }
 
  
    public int subtract(int a,int b){
 
  
        return a-b;
 
  
    }
 
  
    public int multiply(int a,int b){
 
  
        return a*b;
 
  
    }
 
  
    public int divide(int a,int b){
 
  
        return a/b;
 
  
    }
 
  
}



     2.2 创建测试类






          a.为了使测试类与项目类不混杂,在项目中新建一个文件夹,存放我们写的测试类。右击项目名称→new→Source Folder,在 新的文件夹下建立与需要测试的源代码类相同包结构的包。



         



右键Calcuate类,new 一个 JUnit Test Case →在弹出的对话框中更改Source Folder的地址到新建的文件夹的包下



         



Calculate类的测试类为 CalculateTest。



          测试方法的命名规则:test+所要测试的方法名且首字母大写。如 add(int a,int b)方法的测试方法为testA dd(int a,int b)。



          测试方法的返回值是:void



          



          c.代码:






package util; 
  
 
  
 
   
 
  

    import static org.junit.Assert.*; 
  
 
  
 
   
 
  

    import org.junit.Test; 
  
 
  
 
   
 
  

    public class CalculateTest { 
  
 
  
 
   
 
  

        @Test 
  
 
  

        public void testAdd() { 
  
 
  

            assertEquals(6, new Calculate().add(3, 3)); 
  
 
  

        } 
  
 
  
 
   
 
  

        @Test 
  
 
  

        public void testSubtract() { 
  
 
  

            assertEquals(2,new Calculate().subtract(6, 4)); 
  
 
  

        } 
  
 
  
 
   
 
  

        @Test 
  
 
  

        public void testMultiply() { 
  
 
  

            assertEquals(6,new Calculate().multiply(2, 3)); 
  
 
  

        } 
  
 
  
 
   
 
  

        @Test 
  
 
  

        public void testDivide() { 
  
 
  

            assertEquals(2,new Calculate().divide(6, 3)); 
  
 
  

        } 
  
 
  
 
   
 
  

    }






          实现完成后如下图:








                                                 





右键测试类,选择Run As , JUnit Test,结果如下:






                                                  



状态条为绿色,则表示测试成功。



     3.总结



          *1.测试方法上必须使用@Test进行修饰



* 2.测试方法必须使用public void 进行修饰,不能待任何的参数
* 3.新建一个源代码目录



* 4.测试类的包应该和被测试类保持一致



* 5.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
* 6.测试类使用Test作为类名的后缀
* 7.测试方法使用test作为方法名的前缀