Assert 가 뭔가?? 단정문??
2008년에 처음으로 TDD를 접했는데 단정문이라는 단어 그 자체가 확실히 정의 되지 않았습니다.
(assert문은 Junit에서 쓰는 거죠.. 혹은 xUnit에서..)
단정문?? 단정이라는 뜻이 뭐지??
단정이란말은 단정짓는다 라는 말에서 단정과 같은 의미라고 생각하면 편할것 같습니다. 그리고
TDD 책에서는 assert 시리즈를 ~이어야 함! 으로 해석하면 헷갈리지 않을 수 있다고 하더라고요.ㅋㅋ
· assertTrue([message], expected) : expected 값이 참이어야 함! 아니면 실패(fail)
- [message] : assert문을 실행할때 나오는 메시지. 생략가능하지만 써주는것이 정말 좋은 습관임!!
expected : 예상하는 기대값.
· assertEquals([message], expected, actual) : 기대값(expected)이 실제로 나오는 값(actual)과 같아야 함! 아니면 실패(fail)
- [message] : assert문을 실행할 때 나오는 메시지.
expected : 예상하는 기대값.
actual : 실제로 실행해서 나오는 값.
이외 assertFalse, assertSame, assertNotSame, assertNull, assertNotNull 등과
Hamcrest 의 assertThat이 있습니다.
사용예
계정을 나타내는 account 객체와 잔고(balance)의 getter 함수 getBalance() 가 있다고 할 때
assertTrue(account.getBalance() == 0): 계정(account)의 잔고(Balance)는 0이어야 함. 0이 아니면 실패!
assertEquals(0, account.getBalance()): 위에 설명한 assertTrue와 같은내용을 테스트할 때 쓸 수있는것으로 등호비교는 가급적 assertEquals을 쓸것은 권한다고 하네요.
'게임개발공부 > 무작정퍼오기' 카테고리의 다른 글
컨테이너 종류 복습 (0) | 2013.12.21 |
---|---|
텍스처 아틀라스 (0) | 2013.12.20 |
맴버함수를 쓰레드로 쓰는법 (0) | 2013.11.27 |
<소켓 서버> sockaddr (0) | 2013.11.25 |
무작정 쳐보자 <CSTREAM> (0) | 2013.11.24 |