【发布时间】:2018-10-08 01:15:38
【问题描述】:
我有一个方法可以返回MyClass 类型的对象列表。 MyClass 有很多属性,但我关心的是type 和count。我想编写一个测试,断言返回的列表至少包含一个与特定条件匹配的元素。例如,我想要"Foo" 类型列表中的至少一个元素并计数1。
我试图弄清楚如何做到这一点,而不是逐字逐句遍历返回的列表并单独检查每个元素,如果我找到一个通过了就中断,例如:
boolean passes = false;
for (MyClass obj:objects){
if (obj.getName() == "Foo" && obj.getCount() == 1){
passes = true;
}
}
assertTrue(passes);
我真的不喜欢这种结构。我想知道使用 assertThat 和一些 Matcher 是否有更好的方法。
【问题讨论】:
标签: java unit-testing junit hamcrest