一尘不染

混合Hamcrest和TestNG

java

是否有人将Hamcrest与TestNG集成在一起,以便其匹配器可以轻松地用于TestNG断言中?


阅读 221

收藏
2020-12-03

共1个答案

一尘不染

简而言之,要回答您的问题:您不需要将TestNG与Hamcrest集成。只需org.hamcrest.MatcherAssert.assertThat(...)直接调用哪个抛出java.lang.AssertionError

背景

我通过Google找到了您的问题,想知道完全一样的问题。在进一步谷歌搜索之后,我没有找到满意的答案,因此我阅读了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

2020-12-03