-- Start
Junit 简介
Junit 是个单元测试框架。
下载和安装Junit
你可以下载下面两个 jar 包,将它们添加到你的 classpath 中。
junit.jar
hamcrest-core.jar
如果你是 Maven project, 那就更简单了,将下面的断片添加到你的 pom 中就可以了,Maven会自动帮我们下载上面的两个jar包。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
编写被测试类
首先在 Eclipse 中创建一个 Maven 项目,将上面的片段加入 pom 中,然后编写下面的被测试类。
package shangbo.junit;
public class StringUtils {
public String trimToEmpty(String str) {
if (str == null) {
return "";
}
return str.trim();
}
public String trimToNull(String str) {
if (str == null) {
return null;
}
str = str.trim();
if (str.equals("")) {
return null;
}
return str;
}
}
生成测试类
在 Eclipse 中,在被测试类上点击右键,选择 Team --> JUnit Test Case,弹出如下的对话框。
点击 Next 后选中要测试的方法,然后点击 Finish,生成如下的测试类。
package shangbo.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class StringUtilsTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testTrimToEmpty() {
fail("Not yet implemented");
}
@Test
public void testTrimToNull() {
fail("Not yet implemented");
}
}
从上面的测试类我们可以发现:
1. 测试类无需继承任何 Junit 类。
2. 测试方法用@Test来标识。
3. @BeforeClass 用来标识该方法在所有测试用例运行之前运行且只运行一次。主要用来加载所有测试方法都要用到的资源。
4. @AfterClass 用来标识该方法在所有测试用运行之后运行且只运行一次。主要用来释放资源。
5. @Before 用来标识该方法在每一个测试方法运行之前运行。在运行一些测试方法后,某些资源的状态可能被改变,我们在这个这个方法里重置。
6. @After 用来标识该方法在每一个测试方法运行之后运行。
忽略测试方法
如果由于某些原因,我们不希望某个测试方法运行,我们可以加@Ignore来忽略这个个测试方法。我们甚至可以说明为什么要忽略这个测试方法。
@Test
@Ignore
public void testTrimToEmpty() {
fail("Not yet implemented");
}
@Test
@Ignore("Not yet implemented")
public void testTrimToNull() {
fail("Not yet implemented");
}
超时测试
如果你觉得某个方法应该在1秒内完成,我们可以这样写。
@Test(timeout=1000)
public void testTrimToNull() {
fail("Not yet implemented");
}
异常测试
如果你期望某个测试方法抛出异常,你可以这么写。
@Test(expected=Exception.class)
public void testTrimToNull() {
fail("Not yet implemented");
}
运行测试用例
在 Eclipse 中,在要测试的类中右键,Run As-->JUnit Test 就OK了。
-- 声 明:转载请注明出处
-- Last Updated on 2014-08-21
-- Written by ShangBo on 2014-08-21
-- End