您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
全面认识JUnit 4的特征
作者:网络转载 发布时间:[ 2013/1/4 15:58:25 ] 推荐标签:

二、迁移一个测试类

现在,我将把一个已经使用JUnit 3.8编写成的简单的测试类迁移到JUnit 4。这个类有一些缺陷:它没有测试所有的业务方法,而且看上去在testDivide方法中还存在一个错误(8/2不等于5)。因为还没有实现乘法运算功能,所以对其测试将被忽略。

下面,我们把两个版本的框架之间的差别以粗体显示出现于表格1中。

表格1.分别以JUnit 3.8和JUnit 4实现的CaculatorTest。

JUnit 3.8

package junit3;

import calc.Calculator;

import junit.Framework.TestCase;

public class CalculatorTest extends TestCase {

 private static Calculator calculator = new Calculator();

 @Override protected void setUp() { calculator.clear(); }

 public void testAdd() {

calculator.add(1);

calculator.add(1);

assertEquals(calculator.getResult(), 2);

 }

 public void testSubtract() {

calculator.add(10);

calculator.subtract(2);

assertEquals(calculator.getResult(), 8);

 }

 public void testDivide() {

calculator.add(8);

calculator.divide(2);

assert calculator.getResult() == 5;

 }

 public void testDivideByZero() {

try {

 calculator.divide(0);

 fail();

}

catch (ArithmeticException e) { }

 }

 public void notReadyYetTestMultiply() {

calculator.add(10);

calculator.multiply(10);

assertEquals(calculator.getResult(), 100);

 }

}
 

JUnit 4

package JUnit 4;

import calc.Calculator;

import org.junit.Before;

import org.junit.Ignore;

import org.junit.Test;

import static org.junit.Assert.*;

public class CalculatorTest {

 private static Calculator calculator = new Calculator();

 @Before public void clearCalculator() {

calculator.clear();

 }

 @Test public void add() {

calculator.add(1);

calculator.add(1);

assertEquals(calculator.getResult(), 2);

 }

 @Test public void subtract() {

calculator.add(10);

calculator.subtract(2);

assertEquals(calculator.getResult(), 8);

 }

 @Test public void divide() {

calculator.add(8);

calculator.divide(2);

assert calculator.getResult() == 5;

 }

 @Test(expected = ArithmeticException.class)

 public void divideByZero() {

calculator.divide(0);

 }

 @Ignore("not ready yet")

 @Test

 public void multiply() {

calculator.add(10);

calculator.multiply(10);

assertEquals(calculator.getResult(), 100);

 }

}

上一页12345下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd