JUnit 断言

原创 2013年12月02日 10:09:50
一、字符相关匹配符
1、equalTo:

    assertThat(testedValue, equalTo(expectedValue));

    断言被测的testedValue等于expectedValue,equalTo可以断言数值之间,字符串之间和对象之间是否相等,相当于Object的equals方法
2、equalToIgnoringCase:

    assertThat(testedString, equalToIgnoringCase(expectedString));

     断言被测的字符串testedString在忽略大小写的情况下等于expectedString
3、equalToIgnoringWhiteSpace:

     assertThat(testedString, equalToIgnoringWhiteSpace(expectedString);

     断言被测的字符串testedString在忽略头尾的任意个空格的情况下等于expectedString

(注意:字符串中的空格不能被忽略)
4、containsString:

     assertThat(testedString, containsString(subString) );

     断言被测的字符串testedString包含子字符串subString

5、endsWith:

     assertThat(testedString, endsWith(suffix));

     断言被测的字符串testedString以子字符串suffix结尾
6、startsWith:

     assertThat(testedString, startsWith(prefix));

     断言被测的字符串testedString以子字符串prefix开始
二、一般匹配符
1、nullValue():

     assertThat(object,nullValue());

     断言被测object的值为null*/
2、notNullValue():

     assertThat(object,notNullValue());

     断言被测object的值不为null*/

3、is:

     assertThat(testedString, is(equalTo(expectedValue)));

     断言被测的object等于后面给出匹配表达式
     1)is匹配符简写应用之一:

          assertThat(testedValue, is(expectedValue));

          is(equalTo(x))的简写,断言testedValue等于expectedValue

     2)is匹配符简写应用之二:

          assertThat(testedObject, is(Cheddar.class));

          is(instanceOf(SomeClass.class))的简写,断言testedObject为Cheddar的实例

4、not:

     assertThat(testedString, not(expectedString));

     与is匹配符正好相反,断言被测的object不等于后面给出的object
5、allOf:

     assertThat(testedNumber, allOf( greaterThan(8), lessThan(16) ) );

     断言符合所有条件,相当于“与”(&&)

6、anyOf:

     assertThat(testedNumber, anyOf( greaterThan(16), lessThan(8) ) );

     断言符合条件之一,相当于“或”(||)
三、数值相关匹配符

1、closeTo:

     assertThat(testedDouble, closeTo( 20.0, 0.5 ));

     断言被测的浮点型数testedDouble在20.0-0.5 ~ 20.0+0.5范围之内
2、greaterThan:

     assertThat(testedNumber, greaterThan(16.0));

     断言被测的数值testedNumber大于16.0
3、lessThan:

     assertThat(testedNumber, lessThan (16.0));

     断言被测的数值testedNumber小于16.0
4、greaterThanOrEqualTo:

     assertThat(testedNumber, greaterThanOrEqualTo (16.0));

     断言被测的数值testedNumber大于等于16.0

5、lessThanOrEqualTo:

     assertThat(testedNumber, lessThanOrEqualTo (16.0));

     断言被测的testedNumber小于等于16.0
四、集合相关匹配符
1、hasEntry:

     assertThat(mapObject, hasEntry("key", "value" ) );

     断言被测的Map对象mapObject含有一个键值为"key"对应元素值为"value"的Entry项

2、hasItem:

     assertThat(iterableObject, hasItem (element));

     表明被测的迭代对象iterableObject含有元素element项则测试通过
3、hasKey:

     assertThat(mapObject, hasKey ("key"));

     断言被测的Map对象mapObject含有键值“key”
4、hasValue:

     assertThat(mapObject, hasValue(value));

     断言被测的Map对象mapObject含有元素值value



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是个可选的消息,假如提供,将会在发生错误时报告这个消息。

  该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)。

Junit 4 Tutorials(Junit 4 教程) 三、Junit4 断言方法

Junit 4 断言方法允许检查测试方法的期望结果值和真实返回值。Junit的org.junit.Assert类提供了各种断言方法来写junit测试。这些方法被用来检查方法的真实结果值和期望值。下列一...
  • u010349169
  • u010349169
  • 2014年07月08日 16:57
  • 11239

Junit框架使用(4)--JUnit常用断言及注解

断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过。 断言核心方法 assertArrayEquals(expecteds, actuals...
  • jaune161
  • jaune161
  • 2014年10月12日 23:09
  • 14369

JUnit---(断言和注解)

本文原地址为:http://blog.csdn.net/wangpeng047/article/details/9628449 一、核心——断言 断言是编写测试用例的核心实现方式,即期望值是多少...
  • u014042146
  • u014042146
  • 2015年10月28日 11:00
  • 1837

Junit4 新断言语法介绍(转)

1. 引言 JUnit4提供的新断言语法具有很多优点且使用简单,这已经不再是新鲜事了,可发现在实际测试代码中仍未被普及应用,特发此文,以期更多的人能掌握运用。 2. assertThat基本语法 ...
  • hanpompy
  • hanpompy
  • 2012年05月31日 21:54
  • 3602

junit 测试中各种断言用法

为什么需要单元测试 在开发软件的过程中,用户需要实际运行所编写的代码以确保程序的正确性。当软件变得越来越大,再去添加新的功能或做一些新的改动时,就很容易带来新的问题,甚至会使程序无法正常运行。然而要...
  • mayh554024289
  • mayh554024289
  • 2014年08月04日 21:21
  • 11671

Junit 4.7 Rule:另一种断言异常的方法(ExpectedException)

junit 通过Rule的方式断言异常
  • ghostaaa
  • ghostaaa
  • 2016年05月09日 17:21
  • 1971

junit使用及断言

JUnit如何使用 1:构建TestCase类 public class xxxTestextends TestCase{ } 测试用例类必须实现TestCase,命名习惯一般是在待测试类名称...
  • gloria0610
  • gloria0610
  • 2015年02月15日 10:33
  • 850

JUnit 单元测试断言推荐 AssertJ

前言由于JUnit的Assert是公认的烂API,所以不推荐使用,目前推荐使用的是AssertJ。 AssertJ网站: http://joel-costigliola.github.io/asse...
  • qilixiang012
  • qilixiang012
  • 2016年02月01日 17:52
  • 753

十三、Android UiAutomator Junit 断言函数的使用

一、断言函数介绍 1.断言函数: 确定被测试的方法是否按照预期的效果正常工作 比如说: if (假设成立){ 通过测试 }else{ 报错并终止当前用例测试 } 2.断言函数用例结构:...
  • maocaowu_csdn
  • maocaowu_csdn
  • 2016年02月26日 14:27
  • 416

UiAutomator Junit 断言函数的使用

1.用例结构 2.java错误类型 3.断言函数分类 equals 包含两个值,一个期望值和实际值来进行对比boolean 逻辑值 判断是true或falsenull 为空 或不为空same相同...
  • LiHaoYang11
  • LiHaoYang11
  • 2016年09月29日 09:20
  • 219
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JUnit 断言
举报原因:
原因补充:

(最多只允许输入30个字)