使用包含在testng中断言

时间:2015-09-01 11:40:27

标签: java eclipse testng assert

我正在使用Java和testng。我有两组字符串:validSet和actualSet。 我想通过断言检查actualSet中的所有内容是否在validSet中(即actualSet( - validSet。)(我正在使用( - 表示是其子集)。 有一个assertContains(desc,collection1,object)。我尝试了这个,但它把我的actualSet和它放在一个字符串形式,如“[item1,item2,item3]”,而不是把它当作一个集合。

有一个带有两个集合的assertCollectionEquals()。我想如果我可以删除validSet中不在actualSet中的所有内容,那么我可以检查两者是否相等。如果不是,那么我知道validSet不包含在validSet中。

我可以做以下事情:

for (String act : actual ) {
    assertTrue( act + " is not valid", validSet.contains(act);
}

但是关于集合断言的好处是它们将列出不在validSet中的每个字符串,而上面的示例将仅列出遇到的第一个然后失败。

我正在考虑调用的方法,以便比较两个集合应该相等。如何从一组中删除不在另一组中的所有值?

谢谢

1 个答案:

答案 0 :(得分:1)

一种解决方案可能是使用循环构建错误消息,然后在循环后使用该错误消息进行断言。类似的东西:

$("#btnsearch").click(function () {
    dserial = $("#dserial").val();
    $('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails");
})