Junit4 断言新方法

话不多少说,直接上代码

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>

时间: 2024-12-18 08:38:30

Junit4 断言新方法的相关文章

Junit 4 Tutorials(Junit 4 教程) 三、Junit4 断言方法

Junit 4 断言方法允许检查测试方法的期望结果值和真实返回值.Junit的org.junit.Assert类提供了各种断言方法来写junit测试.这些方法被用来检查方法的真实结果值和期望值.下列一些有用的断言方法列表: Junit 4 Assert Methods Method Description assertNull(java.lang.Object object) 检查对象是否为空 assertNotNull(java.lang.Object object) 检查对象是否不为空 as

mootools1.5.1使用笔记:类的创建,继承,为现有类增加新方法

1 window.addEvent('domready',function(){ 2 /* 3 新建一个Person的类,类上有 name属性和sayHello方法: 4 */ 5 var Person= new Class({ 6 initialize: function(name){ 7 this.name = name; 8 }, 9 sayHello:function(){ 10 console.log('hello,my name is '+this.name); 11 } 12 13

JavaScript笔记6-数组新方法

七.ECMAScript5关于数组的新方法 1.forEach():遍历数组,并为每个元素调用传入的函数;     举例: 1 var a = [1,2,3]; 2 var sum = 0; 3 //传一个参数 4 a.forEach(function(v){ 5 sum += v; 6 }); 7 console.log(sum);//6 8 //传三个参数(元素值,索引,数组本身) 9 a.forEach(function(v,i,a){ 10 a[i]=v+1;//为数组的各元素自加1 1

iOS5中UIViewController的新方法

iOS5中UIViewController的新方法 前言 在苹果的 WWDC2011 大会视频的<Session 101 - What’s New in Cocoa> 和<Session 102 - Implementing UIViewController Containment> 中介绍了苹果在 iOS5 中给 UIViewController 新增加的 5 方法以及一个属性: // 方法addChildViewController: removeFromParentViewC

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

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult 导出EXCEL方法总结:MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可:优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件: 2.设置输出头为:application/ms-excel,再输出拼接的HTM

(九十二)加速计的用法(过期方法+新方法)

在iOS4之前,使用UIAccelermeter获取加速计的数据,这种方法由于简单,沿用至今. 加速计坐标系如图所示,在相应轴向受力时会有数据变化. [过期方法] ①定义UIAccelerometer对象,设置代理,采样间隔,然后系统会自动调用代理方法. UIAccelerometer *ac = [UIAccelerometer sharedAccelerometer]; ac.delegate = self; ac.updateInterval = 1 / 30.0; ②然后遵循协议UIAc

新方法写动画

现在必须用appframework.js 做各种效果, 语法是和jquery差不多的,没看到animate.slideUp这些, 貌似是有用自定义标签的属性来做的,还没有试过. 不过因为现在不用考虑浏览器兼容性,只要伺候chrome一位,这些东西用css3的transition就可以轻松搞定. 任何属性,加上transition,在改变设置过transition的属性值时就会有动画效果. 语法 transition: property duration timing-function delay

UIViewController新方法的使用(transitionFromViewController:toViewController:duration:options:animations:completion:)

iOS5中,UIViewController新添加了几个方法: - (void)addChildViewController:(UIViewController *)childController NS_AVAILABLE_IOS(5_0); - (void) removeFromParentViewController NS_AVAILABLE_IOS(5_0); - (void)transitionFromViewController:(UIViewController *)fromView

《劲道》课程笔记——新时代的领导新方法

Fierce Conversation 劲道 Fierce指的是我们卸下面具,投入对话,让对话变得真实. 劲道四大目标: 质问真相. 刺激学习(产生新观点). 对付挑战. 丰富关系 我们要相信自己的选择,我们要为自己选择相信的事物负责. ——Cardinal Newman 下面情况属于劲道: 说真心话, 谈话直指问题核心, 真诚提问与倾听, 散发热情, 增进人际关系, 对话结束后,你有转变. Everyone Communicats,Few Connect 每个人都在沟通,但很少产生连接 ——J