-
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에 대해서 좀 더 사용하고 알아보자.
전문가 인터뷰 중
● 내가 어떻게 해서 이자리에 있게 되었는가?
● 내가 이 자리에 있는 것에 대해 어떻게 느끼는가?
● 나는 어떤 일이 일어나기를 원하는가?
'읽은 책 > 테스트 주도 개발 TDD 실천법과 도구' 카테고리의 다른 글
1장. 테스트 주도 개발 (0) 2014.02.16