hasItems包含可迭代包含的声明错误

时间:2019-06-25 14:34:10

标签: java assertion hamcrest serenity-bdd

我试图断言列表返回了我需要的值,但是断言失败了,我不知道为什么差值相等

theActorInTheSpotlight().should(seeThat(Elmenu.menu(SegurosVolutariosUi.CAMPOS_FORMULARIO_SEGUROS_VOLUTARIOS), contains(etiquetasFormulario)))
java.lang.AssertionError: 
Expected: iterable containing [<[Aseguradora, Tipo de seguro, Tipo de venta, Fecha de venta, Estado, Vendedor, Fecha de renovación, Origen]>]
     but: item 0: was "Aseguradora"

1 个答案:

答案 0 :(得分:0)

我认为失败的原因是您的方法试图比较整个集合,而这并不相等。 如果要检查单个/多个项目的存在,可以使用hasItem(s)匹配器。

// direct check for a single value
theActorInTheSpotlight().should(seeThat(Elmenu.menu(SegurosVolutariosUi.CAMPOS_FORMULARIO_SEGUROS_VOLUTARIOS), hasItem("Aseguradora")))
// or just make an array with items from the list
theActorInTheSpotlight().should(seeThat(Elmenu.menu(SegurosVolutariosUi.CAMPOS_FORMULARIO_SEGUROS_VOLUTARIOS), hasItems(etiquetasFormulario.toArray(new String[0]))))