使用Eclipse进行单元测试
Eclipse对JUnit提供了完美的支持,开发人员可以通过Eclipse自动生成单元测试的框架,并且能够运行测试代码。
创建测试用例
在Eclipse中,如果要为某一个被测试的类创建一个单元测试类,如例程1所示:
例程1 SimpleAdd.java
public class SimpleAdd { //简单Integer的加法 public Integer integerAdd(Integer field1, Integer field2){ int iField1 = field1.intValue(); int iField2 = field2.intValue(); return new Integer(iField1 + iField2); } //其它方法… }
可以选择新建向导,打开新建文件对话框,在新建文件对话框中选择JUnit下面的“JUnit Test Case”选项,打开创建TestCase的对话框,如图1所示。
图1 创建TestCase对话框
在创建TestCase的对话框中,可以选择是否创建setup和tearDown方法等,另外还能够选择为哪一个类创建对应的单元测试,图1选择的被测试类为SimpleAdd。选择Next按钮,可以为被测试的类选择方法加入到单元测试中,如图2所示。
图2 选择被测试方法对话框
选择Finish按钮,Eclipse将会自动生成选择方法的相关定义,如例程2所示。
例程2 SimpleAddForEclipseTest.java
public class SimpleAddForEclipseTest extends TestCase { /* (non-Javadoc) * @see junit.framework.TestCase#setUp() */ protected void setUp() throws Exception { super.setUp(); } /* (non-Javadoc) * @see junit.framework.TestCase#tearDown() */ protected void tearDown() throws Exception { super.tearDown(); } /** * Test method for {@link com.free.test.simple.SimpleAdd#IntegerAdd(java.lang.Integer, java.lang.Integer)}. */ public void testIntegerAdd() { fail("Not yet implemented"); // TODO } /** * Test method for {@link com.free.test.simple.SimpleAdd#StringAdd(java.lang.String, java.lang.String)}. */ public void testStringAdd() { fail("Not yet implemented"); // TODO } }
Eclipse已经创建SimpleAddForEclipseTest类的骨架,当然,Eclipse没法生成测试方法的实现,这就是开发人员要做的事情了。例如修改testIntegerAdd方法如下:
//测试SimpleAdd类的StringAdd方法
public void testIntegerAdd () { SimpleAdd simpleAdd = new SimpleAdd(); assertEquals(new Integer(9), simpleAdd.integerAdd(new Integer(4), new Integer(5))); }