在Eclipse中使用JUnit4进行单元测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在Eclipse中使用JUnit4进行单元测试

JUnit——是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。

回归测试——软件或环境的修复或更正后的“再测试”,自动测试工具对这类测试尤其有用。

单元测试——是最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节。

单元测试的好处:

1、提高开发速度——测试是以自动化方式执行的,提升了测

试代码的执行效率。

2、提高软件代码质量——它使用小版本发布至集成,便于实

现人员除错。同时引入重构概念,让代码更干净和富有弹性。

3、提升系统的可信赖度——它是回归测试的一种。支持修复

或更正后的“再测试”,可确保代码的正确性。

JUnit就是为Java程序开发者实现单元测试提供一种框架,使得Java单元测试更规范有效,并且更有利于测试的集成。 JUnit的一大主要特点是,它在执行的时候,各个方法之间是相互独立的,一个方法的失败不会导致别的方法失败,方法之间也不存在相互依赖的关系,彼此是独立的。

本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元测试的方法。

首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感!

首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。该类代码如下:

package com.junit;

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;

}

}

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

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

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

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

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

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

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

package test;

import static org.junit.Assert.*;

import org.junit.Before;

import org.junit.Ignore;

import org.junit.Test;

import com.junit.Calculator;

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(){

相关文档
最新文档