나는 Hamcrest 1.3을 사용하고 있으며보다 간결한 방법으로 다음을 달성하려고합니다.hamcrest의 컬렉션에있는 일부 항목의 크기와 존재 여부를 확인하는 방법
는 테스트 케이스 다음 고려 : 여기
@Test
public void testCase() throws Exception {
Collection<String> strings = Arrays.asList(
"string one",
"string two",
"string three"
);
// variant 1:
assertThat(strings, hasSize(greaterThan(2)));
assertThat(strings, hasItem(is("string two")));
// variant 2:
assertThat(strings, allOf(
hasSize(greaterThan(2)),
hasItem(is("string two"))
));
}
목표는 수집의 모두 크기와 일부 특정 항목에 포함시킬 확인하는 것입니다.
첫 번째 변형이 가능하고 받아 들여지는 경우 컬렉션이 그 자체로 다른 작업의 결과 일 수 있으므로 allOf
을 사용하여 모든 작업을 수행하는 것이 더 적합하므로 항상 쉽게 수행 할 수있는 것은 아닙니다. 조작. 위의 두 번째 변형에서 수행됩니다. 같은 실제 크기와 단일 샷 작업을 사용 Hamcrest에서 컬렉션의 항목 (대한 테스트의 구체적인 방법을
error: no suitable method found for allOf(Matcher<Collection<? extends Object>>,Matcher<Iterable<? extends String>>)
있나요 :
그러나 컴파일 타임 오류를 다음 발생합니다 두 번째 변화의 코드를 포함 allOf
)?
관련 https://stackoverflow.com/questions/21624592/hamcrest-compare-collections/44030511#44030511 – rvazquezglez
@rvazquezglez가 모두 있다는 점에서 관련 hamcrest와 collections에 관해서는;) 그렇지 않으면 제목을 다시 읽으십시오! – mohamnag