話不多少說,直接上代碼
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>