반응형
Hamcrest를 여러 개의 올바른 또는 일치 운영합니까?
나는 매처에 익숙하지 않습니다. 나는 JUnit과 함께 햄 크레스트 를 가지고 놀았고 나는 그것을 좋아한다.
객관식 중 하나가 맞다고 말할 수있는 방법이 있습니까?
같은 것
assertThat( result, is( either( 1, or( 2, or( 3 ) ) ) ) ) //does not work in hamcrest
테스트중인 메서드는 컬렉션의 한 요소를 반환합니다. 목록에는 여러 후보가 있습니다. 내 현재 구현은 첫 번째 히트를 반환하지만 요구 사항은 아닙니다. 가능한 후보자 중 하나가 반환 테스트 케이스가 성공하기를 바랍니다. 이것을 Java로 어떻게 표현 하시겠습니까?
(나는 햄 크레스트 대안에 열려 있습니다)
assertThat(result, anyOf(equalTo(1), equalTo(2), equalTo(3)))
에서 Hamcrest 튜토리얼 :
anyOf- 일치하는 일치하고 일치하고, (예 : Java ||)
Javadoc을 참조하십시오 .
또한, 당신은 자신의 Matcher를 사용할 수 있습니다.
marcos가 맞지만 몇 가지 다른 옵션도 있습니다. 우선, 다음 중 하나 가 있습니다.
assertThat(result, either(is(1)).or(is(2)));
그러나 두 개 이상의 항목이 있으면 아마도 다루기 어려울 것입니다. 매일 typechecker는 가끔 그런 것들에 이상해입니다. 귀하의 경우 다음을 수행 할 수 있습니다.
assertThat(result, isOneOf(1, 2, 3))
또는 이미 배열 / 컬렉션에 옵션이있는 경우 :
assertThat(result, isIn(theCollection))
Javadoc을 참조하십시오 .
반응형
'ProgramingTip' 카테고리의 다른 글
jQuery-DOM 요소가 이미 존재하는지 확인 (0) | 2020.10.29 |
---|---|
twitter-bootstrap에서 .btn-group을 센터링하는 방법은 무엇입니까? (0) | 2020.10.28 |
Perl 모듈의 특정 버전을 어떻게 사용합니까? (0) | 2020.10.28 |
Mac OS에서 색상 선택기를 시작하는 방법은 무엇입니까? (0) | 2020.10.28 |
목록을 알파벳순으로 정렬 (0) | 2020.10.28 |