话不多少说,直接上代码

package ASSERTTEST;

import org.junit.Assert;

import org.hamcrest.*;
import org.junit.Test;
import static org.junit.Assert.*;

import java.util.List;
import java.util.Map;

import static org.hamcrest.Matchers.*;

public class MYTEST {

@Test

public void testAdd() {

//一般匹配符

int s = new T().add(1, 1);

//allOf:所有条件必须都成立,测试才通过

assertThat(s, allOf(greaterThan(1), lessThan(3)));

//anyOf:只要有一个条件成立,测试就通过

assertThat(s, anyOf(greaterThan(1), lessThan(1)));

//anything:无论什么条件,测试都通过

assertThat(s, anything());
//is:变量的值等于指定值时,测试通过

assertThat(s, is(2));

//not:和is相反,变量的值不等于指定值时,测试通过

assertThat(s, not(1));

//数值匹配符

double d = 5.0;

//closeTo:浮点型变量的值在3.0±0.5范围内,测试通过

assertThat(d, closeTo(3.0, 0.5));

//greaterThan:变量的值大于指定值时,测试通过

assertThat(d, greaterThan(3.0));

//lessThan:变量的值小于指定值时,测试通过

assertThat(d, lessThan(3.5));

//greaterThanOrEuqalTo:变量的值大于等于指定值时,测试通过

assertThat(d, greaterThanOrEqualTo(3.3));

//lessThanOrEqualTo:变量的值小于等于指定值时,测试通过

assertThat(d, lessThanOrEqualTo(3.4));

//字符串匹配符

String n = new T().getName("Magci");

//containsString:字符串变量中包含指定字符串时,测试通过

assertThat(n, containsString("ci"));

//startsWith:字符串变量以指定字符串开头时,测试通过

assertThat(n, startsWith("Ma"));

//endsWith:字符串变量以指定字符串结尾时,测试通过

assertThat(n, endsWith("i"));

//euqalTo:字符串变量等于指定字符串时,测试通过

assertThat(n, equalTo("Magci"));

//equalToIgnoringCase:字符串变量在忽略大小写的情况下等于指定字符串时,测试通过

assertThat(n, equalToIgnoringCase("magci"));

//equalToIgnoringWhiteSpace:字符串变量在忽略头尾任意空格的情况下等于指定字符串时,测试通过

assertThat(n, equalToIgnoringWhiteSpace(" Magci "));

//集合匹配符

List<String> l = new T().getList("Magci");

//hasItem:Iterable变量中含有指定元素时,测试通过

assertThat(l, hasItem("Magci"));

Map<String, String> m = new T().getMap("mgc", "Magci");

//hasEntry:Map变量中含有指定键值对时,测试通过

assertThat(m, hasEntry("mgc", "Magci"));

//hasKey:Map变量中含有指定键时,测试通过

assertThat(m, hasKey("mgc"));

//hasValue:Map变量中含有指定值时,测试通过

assertThat(m, hasValue("Magci"));
}}

最坑的就是这几个jar 的版本了,,

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<scope>test</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3.RC2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-library -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3.RC2</version>
<scope>test</scope>
</dependency>

Junit4 断言新方法的更多相关文章

  1. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  2. 【Android】一种提高Android应用进程存活率新方法

    [Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...

  3. Execel(导出新方法):

    #region 新方法 //var sbHtml = new StringBuilder(); //sbHtml.Append("<table border='1' cellspaci ...

  4. 交换ctrl和caps_loack的新方法

    交换ctrl和caps_loack的新方法 Table of Contents 1 过程 1 过程 debian用了几年,由于emacs的关系,一直将右ctrl和caps_lock键交换,使用的是xm ...

  5. Junit4断言

    Junit4断言API: http://junit.org/javadoc/latest/index.html Constructor Summary protected Assert()       ...

  6. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  7. 用javascript得到客户端IP的新方法

    javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: < ...

  8. iOS5中UIViewController的新方法

    iOS5中UIViewController的新方法 前言 在苹果的 WWDC2011 大会视频的<Session 101 - What's New in Cocoa> 和<Sessi ...

  9. spring AOP Bean添加新方法

    目的:为studentAdditionalDetails中添加Student的showDetails()和ExtraShowDetails()两个方法 spring  中AOP能够为现有的方法添加额外 ...

随机推荐

  1. 一. python基础知识

    第一章.变量与判断语句 1.第一个python程序 # -*- coding:utf-8 -*- # Author: Raymond print ("hello world") p ...

  2. 科普NDIS封包过滤

    闲言:    这个月一直在学习NDIS驱动编程,杂七杂八的资料都看个遍了,做了点笔记,捋捋思路,发上来备忘.    Ps:只是小菜的一点学习笔记,没什么技术含量,不过版主如果觉得对大家稍微有点帮助的话 ...

  3. C++系统学习之六:函数

    1.函数基础 典型的函数定义包括:返回类型.函数名.由0个或多个形参组成的列表以及函数体. 2.参数传递 形参初始化的机理和变量初始化一样. 有两种方式:引用传递和值传递 2.1 传值参数 当形参是非 ...

  4. (38)zabbix中配置snmp监控

    1.首先按照“snmp监控快速配置”文本文档在被监控的主机上安装.配置及启动snmp服务, 具体内容如下: 1).安装snmp yum install net-snmp* -y cp -a /etc/ ...

  5. 本地开发环境中部署已经写好的magento2.0项目

    环境:apache2.4.25+php7.0.16+mysql5.7 (注意版本搭配,详细可以看magento2.0官网看配置) apache最好使用80端口,host文件配置本地虚拟域名 php.i ...

  6. python计算机基础(一)

    什么是编程语言? 跟计算机交流的语言 什么是编程? 编程就是写代码,让计算机能够听懂的语言 为什么要编程? 让计算机为我们做事,取代人 计算机5大组成分别有什么作用? CPU:控制,判断,配作用,内存 ...

  7. python 实现计算器功能 输入字符串,输出相应结果

    import re formul='1 - 2 *( (6 0- 30+(0-40/5) * (9-2* 5/3 +7 /3*99/4*2998 +10 *568/14)) - (-4*3) / (1 ...

  8. PAT Basic 1017

    1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...

  9. shell 几中专用修饰符 :- :+ := ${variable:offset:length}

    1.${variable:-word} ${variable:-word} 如果variable已经被设置了,且不为空,则代入它的值,否则代入word; $ fruit=peach $ echo ${ ...

  10. PYDay6- 内置函数、验证码、文件操作、发送邮件函数

    1.内置函数 1.1Python的内置函数 abs() dict() help() min() setattr() all() dir() hex() next() slice() any() div ...