junit中的assertthat怎么使用equalsto
时间: 2023-05-10 16:50:33 浏览: 1022
在JUnit中使用@Rule测试文件和目录Java开发Ja
JUnit是一个Java语言的单元测试框架,拥有丰富的断言API来保证测试用例的正确性。其中,assertThat()是JUnit4中新增的一个断言方法,使用起来相较assertEquals()更加灵活。
assertThat()封装了Hamcrest库的断言方法,可以自定义匹配器来检验测试结果。其中,equalTo()是Hamcrest库中的一个匹配器,可以判断两个对象是否相等。assertEquals()则是JUnit常用的断言方法,用于比较两个值是否相等。
使用assertThat()中的equalTo()就可以实现assertEquals()的功能,更灵活的是可以自定义匹配器来比较对象的属性值、大小等。具体使用如下:
1.比较两个字符串是否相等:
```java
String str1 = "hello";
String str2 = "Hello";
assertThat(str1, equalToIgnoringCase(str2)); //忽略大小写
```
2.比较两个整数是否相等:
```java
int num1 = 10;
int num2 = 5;
assertThat(num1, equalTo(num2 + 5));
```
3.比较两个列表是否相等:
```java
List<String> list1 = Arrays.asList("a", "b");
List<String> list2 = Arrays.asList("A", "B");
assertThat(list1, containsInAnyOrder("b", "a")); //忽略顺序
```
总之,assertThat()方法中的equalTo()可以替代assertEquals(),而且更加灵活,支持自定义匹配器,可以实现更加复杂的断言操作。
阅读全文