hamcrest 클래스는 org.hamcrest.CoreMatchers
과 매우 비슷합니다 (Matchers
이 더 많음). CoreMatchers
(클래스가 약간 작아 보이지 않는 것 외에는)을 사용하는 이유는 무엇입니까? 왜이 두 클래스가 이렇게 비슷합니까?hamcrest-library Matchers와 hamcrest-Core CoreMatchers의 차이점
49
A
답변
37
Hamcrest matchers는 여러 모듈로 나뉩니다. "핵심"에는 다른 matchers를 빌드하는 데 필요한 가장 기본적인 matchers 및 추상 클래스가 포함됩니다. org.hamcrest.CoreMatchers
에는 이러한 matchers에 대한 팩터 리 방법이 포함되어 있습니다. 다른 matchers는 일치하는 객체의 유형별로 그룹화되고 선택 사항 인 "라이브러리"모듈에 있습니다. org.hamcrest.Matchers
에는 두 세트의 matchers가 포함됩니다.
어느 것을 사용해야합니까? 후자에서 아무 문제없이 모든 것을 정적으로 가져옵니다. 아마 컴파일 시간은 약간 더 오래 걸릴 수도 있지만 그것은 결코 저에게 중요한 문제가 아닙니다. JUnit 가져 오기 외에도 단위 테스트의 맨 위에 넣었습니다.
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
이렇게하면 테스트 방법에서 가장 잘 읽을 수 있습니다.
import org.mockito.Mockito;
또는
static import org.mockito.Mockito.*;
을하고 Mockito
클래스는 Mockito의 Matchers
클래스를 확장하기 때문에, 당신은 종료 할 수 있습니다
9
당신이 (내가처럼) 많은 Mockito를 사용하는 경우 일 수 있습니다 Matchers 클래스 또는 정적 메소드 간의 충돌로 인해 발생합니다. CoreMatchers를 사용하면 Mockito와 동일한 클래스에서 JUnit에서 파생 된 CoreMatchers를 사용할 수있게되었습니다. 사용 시점에서 정규화하지 않아도됩니다.
관련 문제
- 1. Mockito 순서로 어떤 matchers와 확인
- 2. BeanNameUrlHandlerMapping의 차이점 SimpleUrlHandlerMapping의 차이점
- 3. 차이점 downcase와 downcase의 차이점! Ruby에서
- 4. IE5와 IE8의 차이점 모드 차이점
- 5. PhpStorm의 차이점
- 6. 컴파일러 차이점
- 7. 차이점 포크
- 8. sha1의 차이점
- 9. CLR의 차이점
- 10. 정렬 차이점
- 11. 네트워크의 차이점
- 12. RegEx의 차이점
- 13. 파일이없는 차이점
- 14. g ++ 차이점
- 15. 라이브러리의 차이점
- 16. 행간 차이점
- 17. 차이점, 반대로
- 18. 차이점 org.apache.hadoop.fs
- 19. 게으른 로딩 Javascript 파일과 차이점 사이의 차이점</body>
- 20. createObject와 createManagedObject의 차이점
- 21. 이 두 구문의 차이점
- 22. 모듈과 클로저의 차이점
- 23. JMX와 RMI의 차이점
- 24. json 사전과 해시의 차이점
- 25. SPFile과 PublishingPage 클래스의 차이점
- 26. Matlab과 Python의 콜론 차이점
- 27. libs와 src 폴더의 차이점
- 28. V8 및 ECMAScript 차이점
- 29. iPhone에서 viewController 사이의 차이점
- 30. Java For Loop의 차이점