JUnit4.9+hamcrest1.3.0RC2

来源:互联网 发布:线下活动数据分析报告 编辑:程序博客网 时间:2024/05/17 17:41

笔者使用的是junit4.9b3和hamcrest1.3.0RC2

 

JUnit4使用Java5注解(annotation):

@Before:在每一个测试方法执行前执行的方法,用于初始化方法
@After:在第一个测试方法执行后执行的方法,用于释放资源
@Test:标志该方法为测试方法,在此可以测试期望异常和超时时间
@Ignore:标志该方法为忽略的测试方法,当一个测试方法还没有具备测试条件时可以先标志为忽略的测试方法
@BeforeClass:在所有测试方法执行前执行,只执行一次,且必须为static void,一般用于初始化一些共享的实例或加载共享的资源
@AfterClass:在所有测试方法执行后执行,只执行一次,且必须为static void,一般用于测试的善后工作

 

@Test属性:

expected:测试方法是否抛出异常,如果方法抛出异常则测试通过,否则不通过。

timeout:测试方法超时时间,单位毫秒(ms),如果方法(被测方法)在指定时间内完成的话则测试通过,否则不通过。

例:@Test(expected=java.lang.ArithmeticException.class, timeout=100)

 

一个JUnit 4 的单元测试用例执行顺序为:
@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
每一个测试方法的调用顺序为:
@Before –> @Test –> @After

 

JUnit主要有以下断言: 
assertEquals(期望值,实际值),检查两个值是否相等。 
assertEquals(期望对象,实际对象),检查两个对象是否相等,利用对象的equals()方法进行判断。 
assertSame(期望对象,实际对象),检查具有相同内存地址的两个对象是否相等,利用内存地址进行判断,注意和上面assertEquals方法的区别。 
assertNotSame(期望对象,实际对象),检查两个对象是否不相等。 
assertNull(对象1,对象2),检查一个对象是否为空。 
assertNotNull(对象1,对象2),检查一个对象是否不为空。 
assertTrue(布尔条件),检查布尔条件是否为真。 
assertFalse(布尔条件),检查布尔条件是否为假

 

assertThat与org.hamcrest.Matchers配合使用:

assertThat(T actual, Matcher<T> matcher); 
其中actual为需要测试的变量,matcher为使用Hamcrest的匹配符来表达变量actual期望值的声明;

如:

Java代码  收藏代码
  1. @Test  
  2. public void testAdd() {  
  3.     int result = new Test().add(5, 3); // 5+3  
  4.     assertThat(result, allOf(greaterThan(5), lessThan(10)));// 测试5+3是否大于等于5且小于等于10  
  5. }  

 



http://bing-zz.iteye.com/blog/1119098

原创粉丝点击