Junit.. 단위 테스트.. 처음 접하게 된건 비X교육센터를 다니면서 어설프게 사용을 해봤고,

첫 직장에서는 그 어설픔으로 java, 클래스 파일만 쓸데없이 늘려나갔고 -_-

현, 두번째 직장에서는 나름 단위 테스트 답게 사용하고 있다. 물론 100% 활용이라고 까진 못말하지만 말이다...T^T


지금 직장에서 배우면서 가장 많이 들었던 말은.. 남들이 내 코드를 읽어내려갈때 쉽게 읽힐수 있는 코드를 짜라는식의 말을 많이 들었다.

변수, 메서드의 이름만으로 이해할 수 있는..


거짓말은 잘해봤어도 글짓기는 잘 못했었는데.. 이름짓기 참 힘들더라능~ -_- 쿨럭;;


여튼; 나름 junit을 이용해서 테스트 주도 개발!을 하고 있고!! 많이 익숙해져있는 지금..!

다른 유명하신분들 블로그 기웃거리다 보니 Hamcrest 라는게 TestCase 코드에 보이더라..


그 코드들.. 하나하나 조목조목 유심히 살펴보면 정말 직관적인것 처럼 보인다.

구글링 하다보니 이런 코드가 있던데.. 사용해본적이 없어서 맞는 문법인지는 모르겠다.

    @Test
    public void should_find_embedded_search_term_at_start() {
        List<Stakeholder> stakeholders  = stakeholderManager.findByName("Health");
        assertThat(stakeholders, hasItem(hasProperty("name",is("Health Associates"))));
    }

대충 내용은..

' health라는 stakeholder 리스트를 가져온다, 그 중 name이 Health Associates인 프로퍼티를 가지고 있는 객체가 있나? '

뭐 이런 테스트를 하는것 같다.


더 복잡한 케이스도 있었는데 직관적?.. 글세 눈에 안들어오더라;;


-_-;; 해보지 못해서 설명이 안되는것 같다...;;


이렇게 해봤다.. 좋은 개발자는 구글 검색도 잘한다던데....--;; 참 힘들게 테스트 케이스 하나 성공시켜봤다;


내 나름대로 해석은..

' person리스트 요소중에서 'name''minato0'인 property를 가지고 있는 person이 있느냐.. ' 였다.


확실히 Loop를 돌리지 않고 저런식으로 Collection 요소를 검색하는 방법, 은근 좋긴 하다.


걱정은 Hamcrest를 사용하면, 나 외에 다른 사람들이 테스트 코드를 봤을때 거부감이 생기진 않을지,

시간을 들여 공부, 적용, 적응 해볼만한건지.. 흠....

+ Recent posts