1. 程式人生 > >Junit4 斷言新方法

Junit4 斷言新方法

osi 變量 space eat lib depend ace tar 一個

話不多少說,直接上代碼

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>

原文:https://www.cnblogs.com/anyehome/p/7113113.html

Junit4 斷言新方法