【发布时间】:2019-08-11 06:37:10
【问题描述】:
虽然英语不是我的母语,但我仍然认为Hamcrest的以下错误信息是错误的。
我有以下验证方法:
private void validateReturnedCode() {
List<HTTPStatusCodes> expectedStatusCodesList = requestData.getExpectedHttpCodes().getStatusCodes();
HTTPStatusCodes actualReturnedCode = fromCode(response.getStatusCode());
assertThat(expectedStatusCodesList, hasItem(actualReturnedCode));
}
假设 expectedStatusCodesList 为 {REDIRECT_FOUND} 且 actualReturnedCode 正常。
所以显然这里应该有一个异常,但是我无法理解错误信息的逻辑:
java.lang.AssertionError:
Expected: a collection containing <OK>
but: mismatches were: [was <REDIRECT_FOUND>]
如果是这样不是更好吗:
java.lang.AssertionError:
Expected: a status code one of <REDIRECT_FOUND>
but: mismatches were: [value was <OK>]
?
期望收到 REDIRECT_FOUND 但实际上我收到了 OK!
如果我理解错了,你能解释一下吗?
【问题讨论】: