对集合的复杂断言

时间:2015-11-26 07:15:21

标签: java unit-testing junit assertj

我有一个在我的集成测试中生成的字符串的实际列表以及预期的子字符串列表。断言集合是平等的,这是微不足道的,例如:

assertThat(actual).containsExactly(expected);

在我的情况下,它有点困难,因为我实际上想要一个containsExactlySubstring()函数 - 我想断言实际之间存在一对一的对应关系字符串和预期的子串。是否有一种简洁(描述性)的方式来实现它?

实施例

expected = {"abc", "def", "ghi"}
actualPass = {"#abc", "#ghi", "#def"}
actualFail1 = {"abc", "def"}
actualFail2 = {"#abc", "#ghi", "#abc"}
actualFail3 = {"#abc", "#ghi", "#xyz"}

1 个答案:

答案 0 :(得分:1)

您可以使用condition使用are(condition) / have(condition)对所有元素进行验证,也可以kryger建议使用element comparator

希望它有所帮助。