ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2장 JUnit과 Hamcrest
    읽은 책/테스트 주도 개발 TDD 실천법과 도구 2014. 2. 17. 10:33

    JUnit 메소드

    assertEquals("message" , expected, actual); // 두 값이 같은지 비교하는 단정문.


    assertEquals("message" ,double expected, double actual, double delta); // delta double과 float는 계산이 정확하지 않으므로 오차보정값인 delta를 넣어준다. 


    assertSame(message, expected, actual); // 두 객체가 정말 동일한 객체인지 주소값으로 비교하는 단정문 (캐시가 가져온 객체와 동일한지 여부를 판단하거나 싱글톤으로 만들어진 객체를 비교할 때 쓰인다.)


    assertNotSame(message, unexpected, actual);


    assertTrue(message, expected );


    assertFalse(message, expected );


    fail(); // 아직 로직이 개발 중인 곳에 fail을 넣어두면 나중에 어디를 갔다 와서도 아 이것을 하고 있었지! 하고 알 수 있어요.


    JUnit4를 쓰기 위해선 @Test를 함수위에 써주면 됩니다.

    - 어노테이션을 지원..


    @BeforeClass @AfterClass : 하나의 테스트 클래스 내에서 한 번만 실행하는 메소드

    @Before @After : @Test를 실행하기 전후에 실행된다. @Test메소드가 많아도 그 수만큼 돌게 된다.(Before -> Test -> After)


    여러개의 테스트 클래스를 한 번에 돌리는 방법:

    @RunWith(Suite.class)

    @SuiteClasses(ATest.class, BTest.class)

    public class TestSuite{

    }


    비교표현의 확장 : Hamcrest

    쓰기위해선 import 필요: import static org.junit.Assert.*;  import static org.hamcrest.CoreMatchers.*;


    일반적인 사용방법 :  assertThat(테스트대상, Matcher구문);    or   assertThat("메세지", 테스트대상, Matcher구문);




    용어정리

    텍스트 픽스쳐(= text context) :  테스트를 반복적으로 수행할 수 있게 도와주고 매번 동일한 결과를 얻을 수 있게 도와주는 '기반이 되는 상태나 환경' 또는 일관된 테스트 실행환경



    ※ Hamcrest에 대해서 좀 더 사용하고 알아보자.


    전문가 인터뷰 중

    ● 내가 어떻게 해서 이자리에 있게 되었는가?

    ● 내가 이 자리에 있는 것에 대해 어떻게 느끼는가?

    ● 나는 어떤 일이 일어나기를 원하는가?




Designed by Tistory.