我如何使用Hamcrest编写以下JUnit断言?
assertTrue(var1 == 5 || var2 == 10);
我无法使用anyOf()
匹配器包装器,因为我不需要多个匹配器,我需要多个语句,每个变量一个var1
和var2
答案 0 :(得分:6)
您可以将变量转换为单个复合对象,将其写为单个Hamcrest断言:
assertThat(ImmutableList.of(var1, var2),
either(contains(is(5), anything()))
.or(contains(anything(), is(10))));
我建议这不是特别容易理解,也不能帮助解释这意味着什么以及为什么这代表成功。