做为一个准备向自动化测试进军的小测试,断言不会是不行。我当前主擅长的就是java和python,这里是java的断言总结。

@Test
public void testHamcrestMatchers() {
// 核心匹配
// allOf: 所有条件都必须满足,相当于&&
assertThat(“myname”, allOf(startsWith(“my”), containsString(“name”)));
// anyOf: 其中一个满足就通过, 相当于||
assertThat(“myname”, anyOf(startsWith(“na”), containsString(“name”)));
// both: &&
assertThat(“myname”, both(containsString(“my”)).and(containsString(“me”)));
// either: 两者之一
assertThat(“myname”, either(containsString(“my”)).or(containsString(“you”)));
// everyItem: 每个元素都需满足特定条件
assertThat(Arrays.asList(“my”, “mine”), everyItem(startsWith(“m”)));
// hasItem: 是否有这个元素
assertThat(Arrays.asList(“my”, “mine”), hasItem(“my”));
// hasItems: 包含多个元素
assertThat(Arrays.asList(“my”, “mine”, “your”), hasItems(“your”, “my”));
// is: is(equalTo(x))或is(instanceOf(clazz.class))的简写
assertThat(“myname”, is(“myname”));
assertThat(“mynmae”, is(String.class));
// anything(): 任何情况下,都匹配正确
assertThat(“myname”, anything());
// not: 否为真,相当于!
assertThat(“myname”, is(not(“you”)));
// nullValue(): 值为空
String str = null;
assertThat(str, is(nullValue()));
// notNullValue(): 值不为空
String str2 = “123”;
assertThat(str2, is(notNullValue()));

// 字符串匹配
// containsString:包含字符串
assertThat(“myname”, containsString(“na”));
// stringContainsInOrder: 顺序包含,“my”必须在“me”前面
assertThat(“myname”, stringContainsInOrder(Arrays.asList(“my”, “me”)));
// endsWith: 后缀
assertThat(“myname”, endsWith(“me”));
// startsWith: 前缀
assertThat(“myname”, startsWith(“my”));
// isEmptyString(): 空字符串
assertThat("", isEmptyString());
// equalTo: 值相等, Object.equals(Object)
assertThat(“myname”, equalTo(“myname”));
assertThat(new String[] {“a”, “b”}, equalTo(new String[] {“a”, “b”}));
// equalToIgnoringCase: 比较时,忽略大小写
assertThat(“myname”, equalToIgnoringCase(“MYNAME”));
// equalToIgnoringWhiteSpace: 比较时, 首尾空格忽略, 比较时中间用单个空格
assertThat(" my \t name “, equalToIgnoringWhiteSpace(” my name "));
// isOneOf: 是否为其中之一
assertThat(“myname”, isOneOf(“myname”, “yourname”));
// isIn: 是否为其成员
assertThat(“myname”, isIn(new String[]{“myname”, “yourname”}));
// toString() 返回值校验
assertThat(333, hasToString(equalTo(“333”)));

// 数值匹配
// closeTo: [operand-error, operand+error], Double或BigDecimal类型
assertThat(3.14, closeTo(3, 0.5));
assertThat(new BigDecimal(“3.14”), is(closeTo(new BigDecimal(“3”), new BigDecimal(“0.5”))));
// comparesEqualTo: compareTo比较值
assertThat(2, comparesEqualTo(2));
// greaterThan: 大于
assertThat(2, greaterThan(0));
// greaterThanOrEqualTo: 大于等于
assertThat(2, greaterThanOrEqualTo(2));
// lessThan: 小于
assertThat(0, lessThan(2));
// lessThanOrEqualTo: 小于等于
assertThat(0, lessThanOrEqualTo(0));

// 集合匹配
// array: 数组长度相等且对应元素也相等
assertThat(new Integer[]{1, 2, 3}, is(array(equalTo(1), equalTo(2), equalTo(3))));
// hasItemInArray: 数组是否包含特定元素
assertThat(new String[]{“my”, “you”}, hasItemInArray(startsWith(“y”)));
// arrayContainingInAnyOrder, 顺序无关,长度要一致
assertThat(new String[]{“my”, “you”}, arrayContainingInAnyOrder(“you”, “my”));
// arrayContaining: 顺序,长度一致
assertThat(new String[]{“my”, “you”}, arrayContaining(“my”, “you”));
// arrayWithSize: 数组长度
assertThat(new String[]{“my”, “you”}, arrayWithSize(2));
// emptyArray: 空数组
assertThat(new String[0], emptyArray());
// hasSize: 集合大小
assertThat(Arrays.asList(“my”, “you”), hasSize(equalTo(2)));
// empty: 空集合
assertThat(new ArrayList(), is(empty()));
// isIn: 是否为集合成员
assertThat(“myname”, isIn(Arrays.asList(“myname”, “yourname”)));
// Map匹配
Map<String, String> myMap = new HashMap<String, String>();
myMap.put(“name”, “john”);
// hasEntry: key && value匹配
assertThat(myMap, hasEntry(“name”, “john”));
// hasKey: key匹配
assertThat(myMap, hasKey(equalTo(“name”)));
// hasValue: value匹配
assertThat(myMap, hasValue(equalTo(“john”)));
}

最后声明,这也是网上搜寻所得,我只是做个总结。

java断言--assertThat用法相关推荐

  1. 断言assertthat用法

    一般匹配符 1.assertThat( testedNumber, allOf( greaterThan(8), lessThan(16) ) ); 注释: allOf匹配符表明如果接下来的所有条件必 ...

  2. java断言、断点的使用方法,Java断言介绍和用法

    本文概述 断言是Java中的一条语句.它可以用来测试你对该程序的假设. 在执行断言时, 它被认为是正确的.如果失败, JVM将抛出一个名为AssertionError的错误.它主要用于测试目的. 断言 ...

  3. JUnit4单元测试、JUnit4使用详解、assertThat用法

    2019独角兽企业重金招聘Python工程师标准>>> 一.JUnit基本介绍 1.简介 JUnit是一个开放源码的.Java语言的单元测试框架,用于测试期望结果的断言(Assert ...

  4. Java断言及其使用

    Java断言及其使用 断言是一种调试程序的方法,在Java中,使用assert关键字来实现断言,断言格式如下: assert boolean 表达式 : 详细信息 若boolean表达式的结果为tru ...

  5. assertThat用法

    assertThat用法 assertThat用法 语法 一般匹配符 字符串相关匹配符 数值相关匹配符 collection相关匹配符 具体使用步骤 第一步:引入类或static方法 第二步:测试方法 ...

  6. java 断言 assert 初步使用:断言开启、断言使用

    主要总结一下在eclipse中如何使用断言. (一)首先明确: java断言Assert是jdk1.4引入的. jvm 断言默认是关闭的. 断言只适用于复杂的调试过程. 断言一般用于程序执行结果的判断 ...

  7. java 断言 assert 详解:断言开启、断言使用

    java中的断言Assert的使用 一.背景 二.如何判断是否开启了断言 三.开启断言 四.断言的使用 方法一.assert <boolean表达式> 方法二.assert <boo ...

  8. JUNIT4 断言assertThat greaterThan

    使用assertThat,项目要引用以下jar包 junit-4.12.jar hamcrest-core-1.3.jar hamcrest-libriry-1.3.jar pom.xml <d ...

  9. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

最新文章

  1. Axure 8 window 下载,破解
  2. 用lua扩展你的Nginx(写的非常好)
  3. Win10系统电脑查看无线密码的方法
  4. asp建站系统源码_三款适用于企业建站的CMS建站系统
  5. x86-64寄存器与栈帧(转载)
  6. 2015蓝桥杯C++A:奇妙的数字(枚举法)
  7. 牢记31种CSS选择器
  8. CentOS7安装单机kubernetes和Docker
  9. OpenCV3计算机视觉:Python实现 读书笔记-第二章
  10. Spring源码解析一 (IOC容器初始化深度解析)
  11. 【记录】AI换脸 桥本云龙你还喜欢吗 —— 玩转API第二弹
  12. 大学生python作业代做_代写COMP9021作业、代做Python编程语言作业、代写Python实验作业、代做program留学生作业...
  13. 2018谷歌大会android,谷歌召开2018中国开发者大会,带来了Android 9多项更新
  14. 极化的概念及天线极化方式
  15. 使用 OpenCV 在 Python 中检测图像中的形状
  16. HiveConf of name hive.metastore.local does not exis问题
  17. Django笔记 CMS框架Mezzanine 2
  18. Educational Codeforces Round 131 (Rated for Div. 2) A-D题解
  19. QT驾校科目考试系统——从实现到发布
  20. 使用Dronekit控制无人机,DroneKit配置

热门文章

  1. android 使用volley下载文件和加载gif图片
  2. 无我编程的10条诫律
  3. 初始化mysql报错
  4. gpu运行pycharm
  5. 纯翻译 GMSL2-CSI2 MAX9295和MAX9296配对通用过程 编程指南
  6. 自己做一个table插件 (一)Ajax获取数据后动态生成table
  7. XSS-labs靶场通关秘籍(level 17-20)
  8. sklearn梯度提升树(GBDT)调参小结
  9. Hadoop3.2.1 【 YARN 】源码分析 : LinuxContainerExecutor 浅析 [ 一 ]
  10. java -jar命令运行jar包时指定外部依赖jar包