hamcrest的规则匹配器

package study.junit.test;

//静态引入一个类,可以直接使用此类中的方法。

import static org.junit.Assert.*;

import java.util.List;

import java.util.Map;

import org.junit.Test;

import study.JunitStudy;

//引入 hamcrest  写规则匹配器

import static org.hamcrest.Matchers.*;

public class JunitStudyTest {

@Test

public void testAdd() {

/*假数据*/

int z = new JunitStudy().add(5, 9);

String str="test";

String str2="test2";

Map<String,String> map=null;

List<String> list=null;

double d=2.5;

  /* assertEquals(14, z);

actual 实际值  matcher 规则匹配器  注意  使用此功能 不能使用eclipse自带的junitlibarary

需要自己手动导入 外部junit.jar*/

      assertThat(z, is(14));

      /*assertThat 匹配器*/

      /*z 是否满足比1大  并且比20小*/

      assertThat(z, allOf(greaterThan(1),lessThan(20)));

      /*z 是否满足比80大  或者比20小*/

      assertThat(z,anyOf(greaterThan(80),lessThan(20)));

      /*z 可以是任何值*/

      assertThat(z,anything());

      /*str是否  是。。。。。*/

      assertThat(str, is("abcd"));

      /*str是否  不是。。。。。*/

      assertThat(str,  not("abcd"));

      /*str 是否包含"abcd"*/

      assertThat(str,containsString("abcd"));

      /*str 是否以"abcd"结尾*/

      assertThat(str,endsWith("abcd"));

      /*str 是否以"abcd"开始*/

      assertThat(str,startsWith("abcd"));

      /*str 是否等于和str2这个对象相同*/

      assertThat(str,equalTo(str2));

      /*str 忽略大小写 是否相等*/

      assertThat(str, equalToIgnoringCase("abcd"));

      /*str 忽略空格字符 是否相等*/

      assertThat(str, equalToIgnoringWhiteSpace("abcd"));

      /*d 这个数 是不是接近4.5,误差在0.5  正负0.5*/

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

      /*d 是否大于*/

      assertThat(d,greaterThan(5.0));

      /*d 是否小于*/

      assertThat(d,lessThan(5.0));

      /*d 是否大于等于*/

      assertThat(d,greaterThanOrEqualTo(6.2));

      /*d 是否小于等于*/

      assertThat(d,lessThanOrEqualTo(6.2));

      /*map 是否包含 键为key 值为value的元素*/

      assertThat(map,hasEntry("key", "value"));

      /*List 是否包含某一对象*/

      assertThat(list,hasItem("test"));

      /*map 是否包含 键为key 的元素*/

      assertThat(map,hasKey("key"));

      /*map 是否包含 值为value 的元素*/

      assertThat(map,hasValue("value"));

}

/*期望报异常,期望此方法执行时间在100毫秒之中*/

    @Test(expected = java.lang.ArithmeticException.class,timeout = 100)

public void testDivide() {

//divide除法

int z =new JunitStudy().divide(8, 0);

assertThat(z, is(2));

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容