Junit

来源:互联网 发布:q版地图制作软件 编辑:程序博客网 时间:2024/05/03 23:20

-- Start

Junit 简介

Junit 是个单元测试框架。

下载和安装Junit

你可以下载下面两个 jar 包,将它们添加到你的 classpath 中。

junit.jarhamcrest-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 {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@AfterClasspublic static void tearDownAfterClass() throws Exception {}@Beforepublic void setUp() throws Exception {}@Afterpublic void tearDown() throws Exception {}@Testpublic void testTrimToEmpty() {fail("Not yet implemented");}@Testpublic void testTrimToNull() {fail("Not yet implemented");}}
从上面的测试类我们可以发现:
1. 测试类无需继承任何 Junit 类。

2. 测试方法用@Test来标识。

3. @BeforeClass 用来标识该方法在所有测试用例运行之前运行且只运行一次。主要用来加载所有测试方法都要用到的资源。

4. @AfterClass 用来标识该方法在所有测试用运行之后运行且只运行一次。主要用来释放资源。

5. @Before 用来标识该方法在每一个测试方法运行之前运行。在运行一些测试方法后,某些资源的状态可能被改变,我们在这个这个方法里重置。

6. @After 用来标识该方法在每一个测试方法运行之后运行。

忽略测试方法

如果由于某些原因,我们不希望某个测试方法运行,我们可以加@Ignore来忽略这个个测试方法。我们甚至可以说明为什么要忽略这个测试方法。

@Test@Ignorepublic 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了。


-- 更多参见:Open Source 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2014-08-21
-- Written by ShangBo on 2014-08-21
-- End
0 0