Step1:
下载JUnit4.jar,下载地址在GitHub上:https://github.com/KentBeck/junit/downloads
Step2:
导入JUnit4.jar到eclipse工程的buildpath中,这里不再赘述。
Step3:
建立单元测试类,右键——Other——找到并选择JUnit Test Case——点击Next,出现一个Config窗口如下图:
配置按图中提示进行配置后,点击Next会弹出一个选择测试方法的窗口,如下图:
点击完成后,eclipse自动生成一个测试类,以下代码是按照我自己配置生成的:
public class TestEventManager { @Before public void setUp() throws Exception {} @After public void tearDown() throws Exception {} @Test public void testListEvents() {} @Test public void testCreateAndStoreEvent() {} }
Step4:编写适合自己的测试方法,以下采用代码+注释的方式阐述JUnit4的使用:
package com.cugxw.reusfk.manager; import static org.junit.Assert.*; import java.io.IOException; import java.util.Date; import java.util.List; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import com.cugxw.reusfk.domain.Event; public class TestEventManager { private EventManager eventManager = new EventManager(); /** * 在测试代码执行之前,可能需要我们对测试类中的某些状态进行重置,以免对其他 * 测试用例产生影响,此操作在参考文档中称之为Fixture */ @Before public void setUp() throws Exception { System.out.println("---------------------Start JUnit Test----------------------"); } /** * 在测试代码执行之后执行 */ @After public void tearDown() throws Exception { System.out.println("---------------------End JUnit Test------------------------"); } /** * 在所有测试方法执行之前执行该代码,一般放置比较吃资源的代码段,方法必须是static类型 */ @BeforeClass public static void setUpClass() throws Exception { System.out.println("******************* JUnit Test Initialized ******************"); } /** * 在所有测试方法执行之后执行该代码 */ @AfterClass public static void tearDownClass() throws Exception { System.out.println("******************* JUnit Test Cleared ******************"); } /** * 测试testListEvents */ @Test public void testListEvents() { List<Event> events = eventManager.listEvents(); /* 遍历一下执行结果 */ for (int i = 0; i < events.size(); i++) { Event theEvent = (Event) events.get(i); System.out.println( "Event: " + theEvent.getTitle() + " Time: " + theEvent.getDate() ); } /* 可以增加assert判断执行结果是否符合预期 */ assertEquals(5, eventManager.listEvents().size()); } /** * 测试testCreateAndStoreEvent */ @Test public void testCreateAndStoreEvent() { eventManager.createAndStoreEvent("test", new Date()); } /** * 如果想要事先对有些目前还未实现的方法增加测试用例,可以使用Ignore注解忽略掉该方法, * 那么,在执行JUnit Test的时候该方法不会提示错误。 */ @Test @Ignore public void unCompleteMethod() { System.out.println(""); } /** * 限时测试,某些可能会出现无限等待的方法,可以为其设置超时时间 * @throws Exception */ @Test(timeout = 1000) public void limitTimeMethod() throws Exception { Thread.sleep(2000); } /** * 异常测试,某些方法会抛出我们指定的异常,但是如果这个方法没有抛出我们预期的异常, * 这属于bug,我们需要测试出这样的方法 */ @Test(expected = IOException.class) public void throwEceptionMethod() throws Exception { /* 必须抛出IOException及其子类才能执行成功 */ throw new IOException(); } }这些知识JUnit4的基本用法,一般的项目已经够了。