[JUnit5] Hamcrest 필요성

Jiwoo Kim·2021년 3월 25일
0

단위테스트와 JUnit

목록 보기
2/9
post-thumbnail

3장 | JUnit 단언 깊게 파기


Hamcrest

JUnit4까지는 기본 패키지에 포함이 되어 있었지만, JUnit5부터는 별도로 프로젝트에 추가해야 사용할 수 있게 되었다. 책에서 Hamcrest를 꼭 사용하라고 추천을 하길래 JUnit5의 메소드와 Hamcrest의 메소드, 그리고 기술 블로그들을 찾아 보았다.

기능

  • 객체 타입을 검사할 수 있다.
  • 두 객체의 참조가 같은 인스턴스인지 검사할 수 있다.
  • 다수의 matcher를 결합하여 둘 다 혹은 둘 중에 어떤 것이든 성공하는지 검사할 수 있다.
  • 어떤 컬렉션이 요소를 포함하거나 조건에 부합하는지 검사할 수 있다.
  • 어떤 컬렉션이 아이템 몇 개를 모두 포함하는지 검사할 수 있다.
  • 어떤 컬렉션에 있는 모든 요소가 matcher를 준수하는지 검사할 수 있다.

결론

  • JUnit5 기본 Assertion 클래스에서 제공하는 것보다 Hamcrest의 메소드가 더 유용하다.
  • 둘 다 활용해야 가독성 좋은 테스트를 작성할 수 있다.

0개의 댓글