Junit学习之路二--搭建环境

来源:互联网 发布:怎样把nginx部署到公网 编辑:程序博客网 时间:2024/05/01 08:16
  • 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。
  • 但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。
  • 所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。
  • 正因为如此麻烦,所以程序员们编写单元测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4。本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元测试的方法。

    1. 写好被测试的类,如下:
package andycpp;public class Calculator ...{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) ...{    }         // 此方法尚未写好public void divide(int n) ...{        result = result / n;    }public void square(int n) ...{        result = n * n;    }public void squareRoot(int n) ...{        for (; ;) ;            //Bug : 死循环    }public void clear() ...{     // 将结果清零        result = 0;    }public int getResult() ...{        return result;    }}
  1. 如果使用maven,在基于spring的项目中添加如下依赖:
<dependency>           <groupId>junit</groupId>               <artifactId>junit</artifactId>           <version>4.9</version>           <scope>test</scope>  </dependency>   <dependency>           <groupId>org.springframework</groupId>           <artifactId>spring-test</artifactId>           <version> 3.2.4.RELEASE  </version>           <scope>provided</scope>  </dependency>  
  1. 创建一个测试类
package andycpp;import static org.junit.Assert.*;import org.junit.Before;import org.junit.Ignore;import org.junit.Test;public class CalculatorTest ...{    private static Calculator calculator = new Calculator();    @Before    public void setUp() throws Exception ...{        calculator.clear();    }    @Test    public void testAdd() ...{        calculator.add(2);        calculator.add(3);        assertEquals(5, calculator.getResult());    }    @Test    public void testSubstract() ...{        calculator.add(10);        calculator.substract(2);        assertEquals(8, calculator.getResult());    }    @Ignore("Multiply() Not yet implemented")    @Test    public void testMultiply() ...{    }    @Test    public void testDivide() ...{        calculator.add(8);        calculator.divide(2);        assertEquals(4, calculator.getResult());    }}
  1. 运行测试代码:按照上述代码修改完毕后,我们在CalculatorTest类上点右键,选择“Run As a JUnit Test”来运行我们的测试

运行结果如下:

这里写图片描述

进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表示“共进行了4个测试,其中1个测试被忽略,一个测试失败”。

至此,我们已经完整体验了在Eclipse中使用JUnit的方法。在接下来的文章中,我会详细解释测试代码中的每一个细节!

0 0
原创粉丝点击