下面介绍如何在Eclipse中使用JUnit进行单元测试。
(1)在Eclipse中新建一个Java项目。 (2)右击项目,在弹出的快捷菜单中选择“构建路径/添加库”命令,在弹出的“添加库”对话框中选择JUnit选项,如图1.45所示。(3)单击“下一步”按钮,在弹出的“JUnit库”对话框中选择JUnit库版本为JUnit4,单击“完成”按钮,完成JUnit测试环境的搭建。
(4)创建一个名为Count的Java类,在该类中实现一个encrypt()方法,该方法用于将传递的整数进行简单的加密,并返回加密后的值。创建Count类的代码如下:
package com.yxq.tools;
public class Count {
public String encrypt(int input){
int temp=2*input+100;
String over="YXQ"+temp;
return over;
}
}
(5)测试Count类。右击Count.java类文件,在弹出的快捷菜单中选择“新建/JUnit测试用例”命令,在弹出的“JUnit测试用例”对话框中进行图1.46所示的设置。
(6)单击“下一步”按钮,在弹出的“测试方法”对话框中,选择要测试的类中的方法,如图1.47所示。
(7)单击“完成”按钮,完成测试类CountTest的创建。最终CountTest类的代码如下:
package com.yxq.tools;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class CountTest {
@Before
public void setUp() throws Exception { //初始化方法,执行CountTest类时,先来执行该方法
}
@After
public void tearDown() throws Exception { //清理方法,测试结束后执行该方法
}
@Test
public void testEncrypt() { //在被测试的方法名前自动加入test并使方法名的第一个字母大写
fail("尚未实现");
}
}
(8)对CountTest类进行如下编码:
private Count count;
@Before
public void setUp() throws Exception {
count=new Count(); //创建Count类对象
}
@After
public void tearDown() throws Exception {
count=null; //销毁count对象
}
@Test
public final void testEncrypt() { //测试将整数10进行加密后的结果是否为YXQ120
assertEquals("测试testEncrypt()方法失败!",count.encrypt(10),"YXQ120");
}
上述代码中的assertEquals()方法是org.junit.Assert类中的静态方法。其用法如下:
assertEquals(String message,String expected,String actual)
其中,参数message表示断言失败输出的信息,可以省略;expected表示期望的数据;actual表示实际的数据。assertEquals()方法用来断言expected表示的数据与actual表示的数据相等,若不等,则抛出异常并输出由message表示的提示信息。
在Assert类中,常见的assertXxx()方法如表1.12所示。