JUnit几个核心类及接口
Assert | 当条件成立时候assert方法保持沉默,但若条件不成立就抛出异常 |
TestResult | 包含了测试中发生的所有错误或失败 |
TestListener | 测试中若产生(开始,结束,错误,失败)会通知TestListener |
TestCase | 定义了可以用于运行多项测试的环境(实现了Test接口) |
TestSuite | 运行一组test case(他们可能包含其他 test suite),它是Test的组合(实现了TestSuite) |
BaseTestRunner | 用来启动测试的用户界面,BaseTestRunner是所有test runner的超类
|
Assert 超类所提供的8个核心方法
assertEquals() | 用来查看对象中存的值是否是期待的值,与字符串比较中使用的equals()方法类似; |
assertFalse() assertTrue() | 用来查看变量是是否为false或true,如果assertFalse()查看的变量的值是false则测试成功,如果是true则失败,assertTrue()与之相反; |
assertSame() assertNotSame() | 用来比较两个对象的引用是否相等和不相等,类似于通过“==”和“!=”比较两个对象; |
assertNull() assertNotNull() | 用来查看对象是否为空和不为空; |
fail () | 让测试失败,并给出制定信息。 |
JUnit4.X 版本与以前版本的区别
1.测试类不必再从junit.framework.TestCase派生了;
2.测试方法也不必再以“test”作为前缀,而是代之以@Test注解来表示;
3.作为Fixtures的setUp与tearDown也不再强制使用这两个方法名了,只要在任何方法名称前冠以@Before或@After,即可达到一样的效果;
4.对setUp/tearDown的一大改进还包括,可以限定二者只在整个test case范围内执行一次,这是通过@BeforeClass和@AfterClass注解达成的;
5.@Test 注解还可以带上timeout 参数和expected参数,前者代表测试方法超过指定时间即被认为失败,后者则声明了预期被抛出的异常类型。