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. 莪的拽、像省田各号①样没尽頭队——需求改进&原型设计

    需求改进&原型设计 1. 需求&原型改进 经过老师的指导以及组内成员的讨论后,我们认为之前的需求分析已经比较准确完备. 根据电子宠物的形象结构特点,以及模拟屏幕的空间限制,我们设计出了 ...

  2. docker容器,镜像常用操作

    1.查看正在运行的容器 docker ps 查看所有容器 docker ps -a 2.查看容器日志 docker logs -f showdoc 3.删除所有容器 docker rm $(docke ...

  3. ios 从网络上获取图片

    -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; N ...

  4. MyEclipse怎么导入导出项目

    MyEclipse怎么导入导出项目 | 浏览:25271 | 更新:2012-06-06 17:48 1 2 3 4 5 6 7 分步阅读 MyEclipse,是一个十分优秀的功能强大的JavaEE的 ...

  5. 隔行扫瞄/逐行扫瞄的介绍(Interlaced / Progressive)

    隔行扫瞄/逐行扫瞄的介绍(Interlaced / Progressive)   本篇不是着重在理论说明, 而是实际验証结果的分享, 所以只简略解释何谓交错与非交错, 请参考如后. 交错扫瞄(隔行扫瞄 ...

  6. 注解JAVA对象(基于Hibernate4.3)

    package com.chauvet.po; import java.util.Date; import javax.persistence.Column; import javax.persist ...

  7. 抓老鼠 codeForce 148D - Bag of mice 概率DP

    设dp[i][j]为有白老鼠i只,黑老鼠j只时轮到公主取时,公主赢的概率. 那么当i = 0 时,为0 当j = 0时,为1 公主可直接取出白老鼠一只赢的概率为i/(i+j) 公主取出了黑老鼠,龙必然 ...

  8. DZY Loves Math系列

    link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...

  9. python pandas Timestamp 转为 datetime 类型

    In [11]: ts = pd.Timestamp('2014-01-23 00:00:00', tz=None) In [12]: ts.to_pydatetime() Out[12]: date ...

  10. nginx unit nodejs 模块试用

      unit 对于nodejs 的支持是在10.25 发布的,基本能用,但是依然有好多问题,当前在测试的时候就发现,请求之后会block , 相关的issue 已经有人反馈了,最好使用源码编译,方便测 ...