zoukankan      html  css  js  c++  java
  • Junit的安装与使用

    一、简介:

      JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

        它包括以下特性:

      1、用于测试期望结果的断言(Assertion)
      2、用于共享共同测试数据的测试工具
      3、用于方便的组织和运行测试的测试套件
      4、图形和文本的测试运行器
    二、JUnit的使用:
     
      首先新建一个项目为Calculator,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。该类代码如下:
     

    package net.test.unit.junit;

    public class Calculate {  

       private static int result;  //静态变量,用于存储运行结果  

        public void add(int n){  

              result=result+n;

        }       

        public void substract(int n){  

               result=result-1;  Bug: 正确的应该是 result =result-n   

      }    

       public void multiply(int n)     {   

            result=result*n;   

      }       

       public void divide(int n)     { 

          result=result/n;  

       }       

       public void squareRoot(int n)     {       

          for(;;);    //Bug:死循环     }  

      public void clear()     {   

            result=0;  //将结果清零    

    }      

      public int getResult()     {    

           return result;    

    }

    }

      第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,如图:

      在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add
    Library…”按钮,如下图所示:

      然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。

      第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择“JUnit 测试用例”。如下图所示:

      

      在弹出的对话框中,进行相应的选择,如下图所示:

          

      点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测  试。如下图所示:

         

      之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。你只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:

      JUnit4之前是通过setUp、TearDown方法完成。在Junit4中,仍然可以在每个测试方法运行之前初始化字段,和配置环境,当然也是通过注释完成。Junit4中,通过@befroe替代setUp方法;@After替代tearDown方法。在一个测试类中,甚至可以使用多个@Before来注释多个方法,这些方法都是在每个测试之前运行。说明一点,@Before是在每个测试方法运行前均初始化一次,同理@Ater是在每个测试方法运行完毕后,均匀性一次就是说,经这两个注释的初始化和注销,可以保证各个测试之间的独立性而互不干扰,他的缺点是效率低。另外,不需要在朝类中显示调用初始化和清除方法,只要他们不被覆盖,测试运行程序将根据需要自动调用这些方法。超类中的@Before方法在自来的@Before方法之前调用(与构造函数调用顺序一致),@After方法是子类中的在超类之前运行。
    在JUnit4中加入了一项新特性。加入了两个注释:@BeforeClass和@AfterClass,使用这两个注释的方法,在该测试类中,的测试方法之前、后各运行一次,而不是按照方法各运行一次。对于消耗很的啊的资源,可以使用这两个注释。

    第四步,运行测试代码:按照上述代码修改完毕后,我们在CalculatorTest类上点右键,选择“Run As à JUnit
    Test”来运行我们的测试,如下图所示:

      

     运行结果如下

    至此,我们已经完整体验了在Eclipse中使用JUnit的方法。

  • 相关阅读:
    20145216 史婧瑶《信息安全系统设计基础》第一周学习总结
    20145216史婧瑶《信息安全系统设计基础》第0周学习总结
    20145216《java程序设计》课程总结
    20145216史婧瑶《Java程序设计》第10周学习总结
    20145216史婧瑶《Java程序设计》第五次实验报告
    20145216史婧瑶《Java程序设计》第四次实验报告
    20145216史婧瑶《Java程序设计》第9周学习总结
    20145216史婧瑶《Java程序设计》第三次实验报告
    20145216史婧瑶《Java程序设计》第8周学习总结
    20145220韩旭飞第五周博客
  • 原文地址:https://www.cnblogs.com/gaoruming/p/4530032.html
Copyright © 2011-2022 走看看