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
Posted by JJOREG