一、什么是JUnit
JUnit是一个开放源代码的Java测试框架,用在编写和运行可重复的测试脚本之上。它是单元测试框架体系xUnit的一个实例,JUnit是针对Java的单元测试工具。
二、JUnit 的主要特性
1.可以使测试代码与产品代码分开,更有利于代码的打包发布和测试代码的管理。
2.提供了一个编写测试类的框架,使测试代码的编写更加方便。
3.易于集成到程序中的构建过程中。
4.源代码是公开的,可以进行二次开发。
5.具有很强的扩展性。
三、JUnit包括的类
(TestCase抽象类、TestSuite、TestResult、TestRunner4个重要的类)TestListenter、Test接口、Assert类。
四、JUnit3.x、JUnit4
JUnit3.x:
1.使用junit3.x版本进行单元测试时,测试类必须要继承于TestCase父类。
2.测试方法需要遵循的原则:public、void、无方法参数、方法名称必须以test开头。
3.不同的Test Case之间一定要保持完全的独立性,不能有任何的关联。
4.我们要掌握好测试方法的顺序,不能依赖于测试方法自己的执行顺序。
JUnit4:
1.使用junit4版本进行单元测试时,不用测试类继承TestCase父类,因为,junit4全面引入了Annotation执行我们编写的测试。
2.junit4版本,引用了注解的方式,进行单元测试。
3.junit4版本我们常用的注解:
a.@Before 注解:与junit3.x中的setUp()方法功能一样,在每个测试方法之前执行。
b.@After 注解:与junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行。
c.@BeforeClass 注解:在所有方法执行之前执行。
d.@AfterClass 注解:在所有方法执行之后执行。
e.@Test(timeout = xxx) 注解:设置当前测试方法在一定时间内运行完,否则返回错误。
f.@Test(expected = Exception.class) 注解:设置被测试的方法是否有异常抛出。抛出异常类型为:Exception.class。
g.@Ignore 注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。
五、小结
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。