반응형
Mockito : 일반 매개 변수로 확인
Mockito를 사용하면 다음을 수행 할 수 있습니다.
verify(someService).process(any(Person.class));
하지만 어떻게이 문제를 쓰는가 process
A가 소요 Collection<Person>
대신? 올바르게 작성하는 방법을 알 수 없습니다. 구문 오류가 발생하는 중 ...
시험:
verify(someService).process(Matchers.<Collection<Person>>any());
실제로 IntelliJ는 입력했을 때 자동으로이 수정 사항을 제안했습니다. 안타깝게도이 any()
경우 정적 가져 오기를 사용할 수 없습니다.
시도해보십시오 :
verify(someService).process(anyCollectionOf(Person.class));
버전 1.8 Mockito는
public static <T> Collection<T> anyCollectionOf(Class<T> clazz);
자체 메서드를 사용하는 경우 정적 가져 오기를 사용할 수도 있습니다.
private Collection<Person> anyPersonCollection() {
return any();
}
그런 다음 사용할 수 있습니다
verify(someService).process(anyPersonCollection());
유형 삭제 때문에 이것을 표현할 수 없습니다. 코드로 표현할 수 있더라도 Mockito는 런타임에 확인할 기회가 없었습니다. 다음과 같은 인터페이스를 만들 수 있습니다.
interface PersonCollection extends Collection<Person> { /* nothing */ }
대신 이것을 코드 전체에서 사용하십시오.
편집 : 내가 틀렸다, Mockito는 당신이 원하는 anyCollectionOf (..) 를 가지고 있습니다.
참고 URL : https://stackoverflow.com/questions/6175753/mockito-verifying-with-generic-parameters
반응형
'UFO ET IT' 카테고리의 다른 글
다중 처리 오류와의 또 다른 혼동, '모듈'개체에 'f'속성이 없습니다. (0) | 2020.11.23 |
---|---|
인덱스 키 열 VS 인덱스 포함 열 (0) | 2020.11.23 |
별도의 부분 문자열을 만들지 않고 C- 문자열의 특정 부분 만 인쇄 할 수 있습니까? (0) | 2020.11.23 |
성가신 "경고 : 이미 초기화 된 상수"메시지에 대한 솔루션 (0) | 2020.11.23 |
프로덕션에서 Entity Framework (코드 우선) 마이그레이션 사용 (0) | 2020.11.23 |