一、断言(assert方法的总结)
junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类。
1.assertTrue/False([String message,]boolean condition);
判断一个条件是true还是false。感觉这个最好用了,不用记下来那么多的方法名。
2.fail([String message,]);
失败,可以有消息,也可以没有消息。
3.assertEquals([String message,]Object expected,Object actual);
判断是否相等,可以指定输出错误信息。
第一个参数是期望值,第二个参数是实际的值。
这个方法对各个变量有多种实现。在JDK1.5中基本一样。
但是需要主意的是float和double最后面多一个delta的值。
4.assertNotEquals([String message,]Object expected,Object actual);
判断是否不相等。
第一个参数是期望值,第二个参数是实际的值。
5.assertArrayEquals([java.lang.String message,] java.lang.Object[] expecteds, java.lang.Object[] actuals) ;
6.assertNotNull/Null([String message,]Object obj);
判读一个对象是否非空(非空)。
7.assertSame/NotSame([String message,]Object expected,Object actual);
判断两个对象是否指向同一个对象。看内存地址。
8.failNotSame/failNotEquals(String message, Object expected, Object actual)
当不指向同一个内存地址或者不相等的时候,输出错误信息。
注意信息是必须的,而且这个输出是格式化过的。
9.assertThat(java.lang.String reason, java.lang.Object actual, org.hamcrest.Matcher matcher);
其中,reason为断言失败时的输出信息,actual为断言的值或对象,matcher为断言的匹配器,里面的逻辑决定了给定的actual对象满不满足断言。
(如果需要是用assertThat需要在项目中引入junit4的jar包,以及hamcrest-core.jar和hamcrest-library.jar)
二、Failures 和 Errors 的区别?
Failures: 测试失败 Errors:程序出错
(只有保证没有Errors的情况下 才能谈Failures)
三、annotation注解
@Test : 测试方法
1.(expected = java.lang.NullPointerException.class) ---- 期望抛出的异常
2.(timeout = 100) ---- 期望以下方法在100ms内结束 (可以用来测试执行效率)
@Ignore : 被忽略的测试方法
@Before :每一个测试方法之前运行
@After :每一个测试方法之后运行
@BeforeClass :所有测试开始之前运行
@AfterClass :所有测试结束之后运行