我使用hamcrest库来测试代码,我想断言实际值(第一个参数)不等于2个指定值(equalTo方法中的"bad"和"good").如果实际值(assertThat方法的第一个参数)不等于"good"而不等于"bad",它应该通过测试.所以我尝试了以下声明:
 @Test
public void valueNotEqualToBoth() {
    assertThat("good", not(allOf(equalTo("bad"), equalTo("good"))));
}
但事实证明它通过了测试,但我除外的是它不应该.因为第一个参数等于"好".
小智 5
从我从你的问题得到的你不希望提供的值在预设值列表中吗?
如果这是你想要的,你使用错误的断言组合.
assertThat("good", not(anyOf(equalTo("good"), equalTo("bad")));
上面的代码将告诉您assertThat中的第一个参数是否与第二组匹配器中的任何匹配器不匹配.
新断言的解释如下:
如果我理解你的问题,就像
assertEquals("good", !somethingToTest.equals("bad") && !somethingToTest.equals("good"));
| 归档时间: | 
 | 
| 查看次数: | 2016 次 | 
| 最近记录: |