初识Junit(单元测试)

Junit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。

Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。

Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

junit4.x

(1)、使用junit4.x版本进行单元测试时,不用测试类继承TestCase父类,因为,junit4.x全面引入了Annotation来执行我们编写的测试。
(2)、junit4.x版本,引用了注解的方式,进行单元测试;
(3)、junit4.x版本我们常用的注解:( 由于这部分比较常用所以我排在比较前,方便本人复习之用
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  注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。

特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器

最简单的范例如下:
1、创建一个TestCase的子类




package junitfaq;
import java.util.*;
import junit.framework.*;
public class SimpleTest extends TestCase {
public SimpleTest(String name) {
super(name);
}
2、写一个测试方法断言期望的结果

public void testEmptyCollection() {
Collection collection = new ArrayList();
assertTrue(collection.isEmpty());
}
注意:JUnit推荐的做法是以test作为待测试的方法的开头,这样这些方法可以被自动找到并被测试。
3、写一个suite()方法,它会使用反射动态的创建一个包含所有的testXxxx方法的测试套件

public static Test suite() {
return new TestSuite(SimpleTest.class);
}
4、写一个main()方法以文本运行器的方式方便的运行测试


public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}
5、运行测试
以文本方式运行:
java junitfaq.SimpleTest

以图形方式运行:
java junit.swingui.TestRunner junitfaq.SimpleTest


文本方式通过的测试结果是:
Time: 0
OK (1 tests)
Time上的小点表示测试个数,如果测试通过则显示OK。否则在小点的后边标上F,表示该测试失败。
每次的测试结果都应该是OK的,这样才能说明测试是成功的,如果不成功就要马上根据提示信息进行修正了。
如果JUnit报告了测试没有成功,它会区分失败(failures)和错误(errors)
通过的测试结果在图形界面的绿色条部分。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值