有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java混合Hamcrest和TestNG

有没有人将Hamcrest与TestNG集成,以便其匹配器可以轻松地用于TestNG断言


共 (1) 个答案

  1. # 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