如何在Testng assertEquals中使用hamcrest匹配器?

时间:2018-11-22 12:37:13

标签: java unit-testing testing testng hamcrest

我当前正在使用testng assertEquals和softassertion,不,如果实际是完整的String,并且期望的是子字符串,则无法验证。

代码

assertThat("This is actual string", containsString("expected"));

错误消息

  

java.lang.NoSuchMethodError:
  org.hamcrest.Matcher.describeMismatch(Ljava / lang / Object; Lorg / hamcrest / Description;)V

代码

softAssert.assertEquals("This is actual string", containsString("actual"));

错误消息

  

java.lang.AssertionError:
  以下断言失败:预期[包含“ actual”的字符串]但找到[这是实际字符串]预期:包含“ actual”的字符串Actual:这是实际字符串

1 个答案:

答案 0 :(得分:0)

您不能使用assertEquals来做到,可以使用assertTrue来做到。使用以下代码,

String actual="This is actual string";
assertTrue(actual.contains("actual"));