이제 hamcrest에 대해서 알아보려고 한다.
hamcrest란? jMock이라는 Mock라이브러리 저자들이 참여해 만든 Matcher라이브러리이며 테스트 표현식을 작성할 때 좀 더 문맥적으로 자연스럽고 우아한 문장으로 만드는 것을 도와준다.
여기서.. 우아한 문장이라니... 나는 프로그래밍 언어가.. 우아하다는 것을 아직 모르겠다..
머.. 어찌어찌 이렇고 저렇고 생활언어에 가까운 테스트 케이스가 만들어진다고 한다..
즉 junit에는 assetEquals가 있다 그러면 hamcrest는 무엇으로 변경했을까? 바로 assertThat이다.
사용법은? assertThat(테스트대상, Matcher 구문); , assertThat("메시지", 테스트대상, Matcher구문);
assertEquals(100, account.getBalance()); -> assertThat(account.getBlance(). is(equalTo(10000)));
그리고 실행 결과가 바뀐다.
바로.. Java.lang.AssertionError : Expected(예상) : is "2020/03/13" got : "2020/03/12" 로 좀 더 흐름을 볼 수 있다.
책에서는 "예상은 '무엇'인데, 실제로는 '무엇'이 나왔음!"의 형태라고 한다.
그리고 많은 비교를 할 수 있다.ex) core, beans, collection, number, object, text, xml
이상이다.
https://repo.yona.io/doortts/blog/issue/3
2장 - JUnit and Hamcrest
이전: [1장 - 테스트주도개발 Test Driven Development](https://repo.yona.io/doortts/blog/issue/2) 다음: [3장 - TDD 좀 더 잘하기](https://repo.yona.io/doortts/blog/issue/4) ### 2장 본문 [02-JUnit-and-Hamcrest.pdf](/file - doortts/blog
repo.yona.io
현 글은 이 글을 읽고나서 정리한 것이다.
'JAVA > SpringTest' 카테고리의 다른 글
TDD에 대해서 다시 정리 해본다. - Mock (0) | 2020.03.16 |
---|---|
TDD에 대해서 다시 정리 해본다. - 테스트 케이스 위치 및 방법 (0) | 2020.03.16 |
TDD에 대해서 다시 정리 해본다. - junit4 (0) | 2020.03.13 |
TDD에 대해서 다시 정리 해본다. - 서론- (0) | 2020.03.13 |
Spring - Test(2) (0) | 2020.03.12 |