https://junit.org/junit4/javadoc/latest/org/junit/Assert.html#assertThat

断言:Hamcrest - Matchers

对象:

equalTo - 测试对象相等使用Object.equals方法

hasToString - 测试Object.toString方法

instanceOf,isCompatibleType -测试类型 不会,没有验证

notNullValue,nullValue -测试Null

sameInstance - 测试对象示例

集合:

hasEntry,hasKey,hasValue -测试一个map包含一个实体,键或者值

hasItem,hasItems -测试一个集合包含一个元素

hasItemInArray - 测试一个数组包含一个元素

数字:

closeTo - 测试浮点值接近给定的值

文本:

equalToIgnoringCase - 测试字符串相等忽略大小写

equalToIgnoringWhiteSpace - 测试字符串忽略空白

containsString,endsWith,startsWith - 测试字符串匹配

#java
package com.ali; import com.sun.prism.PhongMaterial;
import org.hamcrest.CoreMatchers;
import org.hamcrest.Matchers;
import org.testng.annotations.Test; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertThat; public class LessonAssert {
@Test
public void testInt(){
//数字
Integer i = 1 + 1;
assertThat(i, is(2));
assertThat(i, equalTo(2));
assertThat(i, not(3));
assertThat(i, allOf(greaterThan(1),lessThan(5)));
assertThat(i, anyOf(greaterThan(1),lessThan(0)));
assertThat(i, anything("始终为true"));
assertThat(i, notNullValue());
assertThat(i, sameInstance(2));
}
@Test
public void testDouble(){
//浮点数
Double a = 12.3;
assertThat(a, closeTo(12,0.5));
assertThat(a, greaterThan(11.0));
assertThat(a, lessThan(12.5));
assertThat(a, greaterThanOrEqualTo(12.3));
assertThat(a, lessThanOrEqualTo(12.5)); }
@Test
public void testString(){
//字符串
String a = "HelloWorld";
assertThat(a, equalTo("HelloWorld"));
assertThat(a, startsWith("He"));
assertThat(a, endsWith("ld"));
assertThat(a, containsString("oW"));
assertThat(a, equalToIgnoringCase("helloworld"));
assertThat(a, equalToIgnoringWhiteSpace(" HelloWorld "));
}
@Test
public void testList(){
//集合
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("world");
assertThat(list,hasItem("hello"));
assertThat(list,hasItems("hello","world"));
}
@Test
public void testmap(){
//map
Map<String,String> a = new HashMap<String,String>();
a.put("阿里","马云");
a.put("腾讯","马化腾");
assertThat(a, hasKey("阿里"));
assertThat(a, hasValue("马云"));
assertThat(a, hasEntry("阿里","马云"));
assertThat(a.get("阿里"), equalTo(""马云""));
}
@Test
public void testList2(){
//数组
String[] a = {"a","b","c","d"};
assertThat(a,hasItemInArray("a")); }
}

testNG断言的更多相关文章

  1. 接口自动化:HttpClient + TestNG + Java(三) - 初步封装和testng断言

    在上一篇中,我们写了第一个get请求的测试类,这一篇我们来对他进行初步优化和封装 3.1 分离请求发送类 首先想到的问题是,以后我们的接口自动化测试框架会大量用到发送http请求的功能. 那么这一部分 ...

  2. JAVA结合testng断言verify(断言失败不中断继续执行)

    原理: 1.自已构造一个断言类,把Assert.assertEquals给try catch住. 2.利用testng的监听类在测试方法运行结束后进行分析. 代码: 断言类: package com. ...

  3. testNG 断言

    testNG提供一个Assert类,来判断输出值是否与预期值一致,Assert常用的方法有: Assert.assertEquals():此方法可以有两个参数值,也可以有3个参数值,参数的顺序是 ac ...

  4. TestNg中的断言你真的了解吗

    前言 在执行自动化测试脚本的时候,我们需要自动判断测试脚本执行完成后的实际结果是否与预期结果一致,这个时候就需要在程序运行之前写入断言,判断当前程序执行后是否正常. 关于TestNG断言分为两种: 软 ...

  5. TestNG使用教程详解(接口测试用例编写与断言)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/sinat_34766121/artic ...

  6. (六)TestNg中的软断言和硬断言

    原文链接:https://cloud.tencent.com/developer/article/1479172 前言 在执行自动化测试脚本的时候,我们需要自动判断测试脚本执行完成后的实际结果是否与预 ...

  7. 基于WebDriver&TestNG 实现自己的Annotation @TakeScreenshotOnFailure

    相信用过Selenium WebDriver 的朋友都应该知道如何使用WebDriver API实现Take Screenshot的功能. 在这篇文章里,我主要来介绍对failed tests实现 t ...

  8. testNg自动化,读取excel的数据

    自己写了一个testng执行excel用例的小程序,主要是运行.xlsx的,需要支持xls可以自己扩展,分享一下.下载地址:http://yun.baidu.com/share/link?sharei ...

  9. 学习TestNG,乍暖还寒冷时

    时间:2019年2月23日,农历正月十九,星期六,天气晴,略有阳光,但下午三点多就不见阳光了. 地点:上海 昨夜雨疏风骤,浓睡不消残酒.试问卷帘人,却道海棠依旧.知否?知否?应是绿肥红瘦 是的,魔都上 ...

随机推荐

  1. 元素大小-偏移量(offset)客户区大小(client)滚动大小(scroll)

    一.偏移量---offset 1.定位父级 在理解偏移大小之前,首先要理解offsetParent.人们并没有把offsetParent翻译为偏移父级,而是翻译成定位父级,很大原因是offsetPar ...

  2. avalonJS-源码阅读(3) VMODEL

    来源 avalon的重头戏.终于要到我最期待的vmodel了. ps:这篇博文想做的全一点,错误少一点,所以会有后续的更新在这篇文章中. 状态:一稿 目录[-] avalon dom小结 数据结构 观 ...

  3. php_os 检查php运行环境

    if(strtolower(PHP_OS)=='linux'){ $tests['os']['state']="good"; $tests['os']['message']='OS ...

  4. [HTML]去除li前面的小黑点,和ul、LI部分属性

    [转] 对于很多人用div来做网站时,总会用到,但在显示效果时前面总是会有一个小黑点,这个令很多人头痛,但又找不到要源,其它我们可以用以下方法来清除.[HTML]去除li前面的小黑点,和ul.LI部分 ...

  5. 安装pyenv virtualenv

    地址:https://github.com/pyenv/pyenv-virtualenv Check out pyenv-virtualenv into plugin directory $ git ...

  6. Nexus私服的安装与配置

    Nexus的安装与配置 仅以此文,献给陷入懒癌晚期的小伙伴们. 本文基于nexus 3.xx .0. What?Why?When?Who?Where? Sonatype Nexus是一款maven仓库 ...

  7. Redis学习第五课:Redis Set类型及操作

    Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...

  8. 特征工程 —— 特征重要性排序(Random Forest)

    树模型天然会对特征进行重要性排序,以分裂数据集,构建分支: 1. 使用 Random Forest from sklearn.datasets import load_boston from skle ...

  9. OpenCV-bwLabel-实现图像连通组件标记与分析

    OpenCV实现图像连通组件标记与分析- matlab bwLabel; code: #include <opencv2/opencv.hpp> #include <iostream ...

  10. MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet

    http://blog.csdn.net/21aspnet/article/details/21867241   1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下载 ...