如果是基于Eclipse使用Junit,在现在的Eclipse版本中都已经集成了Junit,可以根据自身的需求自由使用Junit3或者Junit4。在本文中主要通过测试简单算术程序(加,减,乘,除)来介绍Junit4的使用,并引入一个简单的案例进行讲解。
Step 1: 写出基本的算术代码Calculate.java
package com.fjnu.util;
public class Calculate {
public int add(int a, int b){
return a+b;
}
public int minus(int a, int b){
return a-b;
}
public int divide(int a,int b){
return a/b;
}
public int multi(int a, int b){
return a*b;
}
}
Step 2: 对Calculate类添加Junit4的测试单元,右键->new->JUnit Test Case,如下图
Step 3: 对添加的测试用例进行配置,命名为TestCalculate,点击Next
Step 4: 选择需要测试的函数,点击Finish,完成JUnit的基本配置
Step 5: 在经过上面的步骤之后,就可以得到配置好的测试用例
package com.fjnu.util;
import org.junit.Before;
import org.junit.Test;
// 静态导入
import static org.junit.Assert.*;
public class TestCalculate {
private Calculate cal;
// 执行任意一个方法之前都会执行setUp方法
@Before
public void setUp(){
cal = new Calculate();
}
// 加了@Test表示该方法是一个单元测试
@Test
public void testAdd(){
/*
* 以下是一个简单的断言的编写
* 第一个参数是如果出错给出的提示信息
* 第二个表示期望值,通常是用户指定的内容
* 第三个表示代码返回的实际值
*/
// Assert.assertEquals("加法有问题", 34, cal.add(12,22));
/*
* 由于包进行了静态导入之后
* Assert中的所有静态方法就不用再添加类名了
* 这样可以有效地兼容junit3
*/
assertEquals("加法有问题", 34, cal.add(12,22));
}
@Test
public void testMinus(){
int res = cal.minus(12, 2);
// Assert.assertEquals("减法有问题", 10, res);
assertEquals("减法有问题", 10, res);
}
// 表示这个测试类应该抛出ArithmeticException,如果不抛出就报错
@Test(expected=ArithmeticException.class)
public void testDivide(){
int res = cal.divide(12, 0);
assertEquals("除法有问题", 6, res);
}
// 时间单位为ms
@Test(timeout=190)
public void testTime() throws InterruptedException{
Thread.sleep(209);
int rel = cal.divide(12, 2);
}
@Test
public void testMulti(){
int res = cal.multi(12, 2);
assertEquals("乘法有问题",24,res);
}
//hamcrest 1.3
}
Step 6: 现在需要做的就是添加上需要测试的数据
package com.ysc.main; import static org.junit.Assert.*; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class CalculateTest { @BeforeClass public static void setUpBeforeClass() throws Exception { } @Before public void setUp() throws Exception { } @Test public void testAdd() { assertEquals(5, Calculate.add(1, 4)); } @Test public void testMinus() { assertEquals(-1, Calculate.minus(2, 3)); } @Test public void testDivide() throws Exception { assertEquals(0, Calculate.divide(1, 4)); } @Test public void testMultiply() { assertEquals(4, Calculate.multiply(1, 4)); } }
Step 7: 开始进行测试,右键->Run as->JUnit Test
由于添加的数据都是正常运行的数据,所有用例都测试正常