您的位置:首页 > 其它

JUnit的各种断言

2016-04-08 14:59 225 查看
JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。下面我们来介绍一下JUnit的各种断言。

断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过。
断言核心方法
assertArrayEquals(expecteds, actuals) 查看两个数组是否相等。
assertEquals(expected, actual) 查看两个对象是否相等。类似于字符串比较使用的equals()方法
assertNotEquals(first, second) 查看两个对象是否不相等。
assertNull(object) 查看对象是否为空。
assertNotNull(object) 查看对象是否不为空。
assertSame(expected, actual) 查看两个对象的引用是否相等。类似于使用“==”比较两个对象
assertNotSame(unexpected, actual) 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象
assertTrue(condition) 查看运行结果是否为true。
assertFalse(condition) 查看运行结果是否为false。
assertThat(actual, matcher) 查看实际值是否满足指定的条件
fail() 让测试失败

注解
@Before 初始化方法

@After 释放资源
@Test 测试方法,在这里可以测试期望异常和超时时间
@Ignore 忽略的测试方法
@BeforeClass 针对所有测试,只执行一次,且必须为static void
@AfterClass 针对所有测试,只执行一次,且必须为static void
@RunWith 指定测试类使用某个运行器
@Parameters 指定测试类的测试数据集合
@Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为
@FixMethodOrder 指定测试方法的执行顺序

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

   1、assertEquals
  函数原型1:assertEquals([String message],expected,actual)

参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
  expected是期望值,通常都是用户指定的内容。
actual是被测试的代码返回的实际值。
例:assertEquals("equals","1","1");

  函数原型2:assertEquals([String message],expected,actual,tolerance)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
  expected是期望值,通常都是用户指定的内容。
  actual是被测试的代码返回的实际值。
  tolerance是误差参数,参加比较的两个浮点数在这个误差之内则会被认为是相等的。
  例:assertEquals ("yes",5.8,11.0/2.0,0.5);

  2、assertTrue
   函数原型:assertTrue ([String message],Boolean condition)
   参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
condition是待验证的布尔型值。
   该断言用来验证给定的布尔型值是否为真,假如结果为假,则验证失败。当然,更有验证为假的测试条件:

函数原型:assertFalse([String message],Boolean condition)
该断言用来验证给定的布尔型值是否为假,假如结果为真,则验证失败。
例: assertTrue("true",1==1);
assertFalse("false",2==1);

  3、assertNull
  函数原型:assertNull([String message],Object object)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
  object是待验证的对象。
  该断言用来验证给定的对象是否为null,假如不为null,则验证失败。相应地,还存在能够验证非null的断言:
  函数原型:assertNotNull([String message],Object object)
该断言用来验证给定的对象是否为非null,假如为null,则验证失败。
例:assertNull("null",null);
assertNotNull("not null",new String());

  4、assertSame
  函数原型:assertSame ([String message], expected,actual)
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
  expected是期望值。
  actual是被测试的代码返回的实际值。
  该断言用来验证expected参数和actual参数所引用的是否是同一个对象,假如不是,则验证失败。相应地,也存在验证不是同一个对象的断言:

  函数原型:assertNotSame ([String message], expected,actual)
该断言用来验证expected参数和actual参数所引用的是否是不同对象,假如所引用的对象相同,则验证失败。
例:assertSame("same",2,4-2);
assertNotSame("not same",2,4-3);

  5、Fail
  函数原型:Fail([String message])
参数说明:
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
  该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: