![](https://csdnimg.cn/release/download_crawler_static/86350053/bg1.jpg)
JUnit4 详细教程
因 jdk5 中的新特性,JUnit4 也因此有了很大的改变。确切的说,Junit4 简直就不是 3 的扩展
版本,而是一个全新的测试框架。下面详细介绍 JUnit4 的使用方法
1.测试方法:
在 junit4 之前,测试类通过继承 TestCase 类,并使用命名约束来定位测试,测试方法
必须以“test”开头。Junit4 中使用注释类识别:@Test,也不必约束测试方法的名字。当然,
TestCase 类仍然可以工作,只不过不用这么繁琐而已。
Junit 中还因 JDK5 而增加了一项新特性,静态导入(static import)。
2.固件测试
所谓固件测试(Fixture),就是测试运行运行程序(test runner)会在测试方法之前自动
初始化、和回收资源的工作。JUnit4 之前是通过 setUp、TearDown 方法完成。在 Junit4 中,
仍然可以在每个测试方法运行之前初始化字段,和配置环境,当然也是通过注释完成。Junit4
中,通过@befroe 替代 setUp 方法;@After 替代 tearDown 方法。在一个测试类中,甚至可
以使用多个@Before 来注释多个方法,这些方法都是在每个测试之前运行。说明一点,
@Before 是在每个测试方法运行前均初始化一次,同理@Ater 是在每个测试方法运行完毕后,
均匀性一次就是说,经这两个注释的初始化和注销,可以保证各个测试之间的独立性而互不
干扰,他的缺点是效率低。另外,不需要在朝类中显示调用初始化和清除方法,只要他们不
被覆盖,测试运行程序将根据需要自动调用这些方法。超类中的@Before 方法在自来的
@Before 方法之前调用(与构造函数调用顺序一致),@After 方法是子类中的在超类之前运
行。
在 JUnit4 中加入了一项新特性。加入了两个注释:@BeforeClass 和@AfterClass,使用这
两个注释的方法,在该测试类中,的测试方法之前、后各运行一次,而不是按照方法各运行
一次。对于消耗很的啊的资源,可以使用这两个注释。
3.异常测试
因为使用了注释特性,JUnit4 测试异常非常的简单和明了。通过对@Test 传入 expected
参数值,即可测试异常。通过传入异常类后,测试类如果没有抛出异常或者抛出一个不同的
异常,本测试方法就将失败。见代码:
/**
*
*/
package cn.hrmzone.junit;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;