有没有人整合Hamcrest使用TestNG,使其匹配器可以很容易地在TestNG的断言被使用?
Answer 1:
总之,要回答你的问题:你不需要TestNG和Hamcrest整合。 只需拨打org.hamcrest.MatcherAssert.assertThat(...)
直接会抛出java.lang.AssertionError
。
背景
我通过谷歌找到你的问题,不知道一模一样的问题。 进一步谷歌搜索后,我没有找到任何令人满意的答案,所以我读的JUnit与Hamcrest集成的源代码。
使用JUnit,Hamcrest集成通常用于通过调用:
org.junit.Assert.assertThat(
T actual,
org.hamcrest.Matcher<? super T> matcher)
当我读到的源代码,我发现这只是一个小包装致电:
org.hamcrest.MatcherAssert.assertThat(
String reason,
T actual,
org.hamcest.Matcher<? super T> matcher)
这个函数抛出java.lang.AssertionError
。
Answer 2:
如果您正在使用空方法面临的问题,那么我会建议加上hamcrest
首先在依赖列表。 或导入第一hamcrest
,它会解决这个问题。
我是用TestNJ与rexsl(内部使用Hamcrest),它无法找到空的方法。 然后我在依赖列表首先添加rexsl,如果你是在类路径中添加库,你可以尝试先添加Hamcrest之一。
希望这将有助于我这样的人。
Answer 3:
什么工作对我来说:1. http://search.maven.org/
搜索“Java的hamcrest”最新作,现在是“2.0.0.0”
找到摇篮依赖(对我来说)
新增编译 'org.hamcrest:java的hamcrest:2.0.0.0' 在我的项目的build.gradle。
文章来源: Mixing Hamcrest and TestNG