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. CentOS 7 目录布局变化

    /bin转移到/usr/bin;/sbin转移到/usr/sbin;/lib转移到/usr/lib;/lib64转移到/usr/lib64. /var/run符号连接到/run;/var/lock符号 ...

  2. C++设计模式之访问者模式

    简述 访问者模式(Visitor Pattern)表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作. 代码实现: // Visitor.cpp : ...

  3. 去掉“Windows文件保护”

    1.在“开始→运行”对话框中键入“gpedit.msc”,打开“本地计算机策略→计算机配置→管理模板→系统”窗口,找到“Windows文件保护”组,在右侧窗格中双击“设置Windows文件保护扫描”项 ...

  4. WTForms组件

    WTForms组件 WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 注意: from wtforms import Form 和 from flask_wtf ...

  5. vim configures for normal work

    " " 主要用于保留一些常用的vim配置,省得每次都另外写,效率太低. " " 2015-09-18 深圳 南山平山村 曾剑锋 " set nocom ...

  6. sourceinsight - imsoft.cnblogs

    显示空格的问题,options->document options->visible space 前面的对勾去掉就好了 sourceinsight中文显示乱码问题彻底解决办法:http:/ ...

  7. CodeForces - 1093G:Multidimensional Queries (线段树求K维最远点距离)

    题意:给定N个K维的点,Q次操作,或者修改点的坐标:或者问[L,R]这些点中最远的点. 思路:因为最后一定可以表示维+/-(x1-x2)+/-(y1-y2)+/-(z1-z2)..... 所以我们可以 ...

  8. 数组Arry的随机排序

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件

    你可以使用临界区(Critical Section).互斥量(Mutex).信号量(Semaphores)和事件(Event)来处理线程同步.然而,在编写一些异步处理函数,尤其是还有 async 和 ...

  10. 工具运行过程中,CPU占用过高的分析定位

    之前使用Java Swing开发了一款设备档案收集工具.支持多台设备同时收集,每个设备使用一个线程.在同时收集多台设备信息时,发现CPU占用率居然达到了97%,而且高居不下.显然这样的性能是令人无法忍 ...