那一个个assertTure, assertEqual,你说不烦这是不可能的!
所以看到了assertThat,assertThat更与人类表达相近,但是对于简介化来说,好像没体现多少,so,设计和封装才能减少coding time。
Wrong 3rd argument type.
Found:
'org.hamcrest.Matcher<java.util.Map<? extends java.lang.String,? extends java.lang.String>>'
,
required:
'org.hamcrest.Matcher<? super java.util.Map<java.lang.String,java.lang.Object>>
这一个个问号,一个个尖括号,没能做开发是有原因的!!!
好吧,看了Java简单入门,泛型那里忘了了!因为没用过也。
好吧这个问题是说明assertThat会做类型检查,
Juit4 assertEqual(10, '\n')
可以通过
hamcrest assertThat(10,equalTo('\n')
不通过
在那个hasEntry("key","value"))
填写的第二个参数那里强制类型转化为Object就好了,即hasEntry("key", (Object)"value")
。
下面的链接是JUnit的assert各种方法和assertThat的比较,需要注意的是Junit4.12中也有assertThat,
https://objectpartners.com/2013/09/18/the-benefits-of-using-assertthat-over-other-assert-methods-in-unit-tests/
https://www.cnblogs.com/shangren/p/8039215.html;
好了,我要睡觉了,看起来那个自定义Matcher应该很有用???!
assertThat
最新推荐文章于 2021-02-16 02:05:24 发布