일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 신경회로망
- BAM
- 구글 앱 엔진
- 빅데이터
- 신경망
- 삼성전자 소프트웨어멤버십 SSM
- 증강현실
- Google App Engine
- NarwalFreo
- 멤버십
- 인공지능
- SSM
- 나르왈프레오
- Friendship
- 동아리
- 고려대학교
- 패턴 인식
- Python
- 갤럭시탭S8울트라
- 패턴인식
- Neural Network
- 가상화
- 물걸레로봇청소기추천
- Bidirectional Associative Memory
- 물걸레자동세척로봇청소기
- hopfield network
- 파이썬
- 하이퍼바이저
- 삼성소프트웨어멤버십
- 삼성
- Today
- Total
정보공간_1
[4기 강북 송용길] Unit test with JUnit(4) 본문
안녕하세요. 강북멤버십 22-1기 송용길입니다.
지난 번 포스팅에선 JUnit Framework을 이용하여 단위테스트를 진행해 보았습니다. 직접 해보신 분들은 JUnit을 이용하는 것이 얼마나 쉽고 편한지 느끼셨으리라 믿습니다.
그럼 오늘은 단위 테스트를 작성시 테스트 대상이 되는 메서드가 제대로 동작하는지 아닌지 판단하도록 돕는 단정메소드들에 대해 알아보겠습니다.
1. assertEquals
가장 많이 사용하는 단정 메소드 입니다. 개발자가 메소드에서 기대한 값(expected)과 실제 나온 값(actual)을 비교하여 같으면 성공으로 간주하고 같지 않으면 실패로 처리합니다. message의 경우는 실패 시 사용자가 입력한 문자열을 출력합니다. 배열을 서로 비교하는 것도 있으나, 배열 내부의 값을 비교하는 것이 아닌 배열의 레퍼런스 자체만 비교하니 사용시 주의해야 합니다. 배열 내부의 값을 비교하는 함수는 따로 있습니다.
이 역시 역할은 assertEquals와 동일합니다.
2. assertNull
파라미터로 넘어오는 객체가 null인지를 판별합니다. null이 아닐 경우 실패로 간주합니다. 이와 반대되는 단정 메소드로 assertNotNull이 있습니다.
3. assertSame
기대(expected) 객체와 실제(actual) 객체가 서로 같은 것을 참조하고 있는지 판정합니다. 서로 참조하는 객체가 다를 경우 실패 처리 합니다. 이와 반대되는 단정 메소드로 assertNotSame이 있습니다.
4. assertTrue
조건이 참인지를 판정합니다. 조건이 false일 경우 실패 처리 합니다. 이와 반대되는 메소드로 조건이 거짓인지를 확인하는 assertFalse가 있습니다.
5. fail
테스트의 무조건적인 실패를 나타낼 때 사용합니다. 때로 절대 수행되어야 하지 않을 경우에 fail 메소드를 실행시켜 그 메소드를 실패처리합니다.
오늘은 JUnit에서 제공하는 여러 단정 메소드 들에 대해서 알아보았습니다. 테스트 코드 작성시 위와 같은 단정 메소드를 상황에 맞게 잘 사용한다면 깔끔하고 편리한 테스트가 작성될 것입니다.
Reference
[1] 데이비드 토머스, 앤드류 헌트, 실용주의 프로그래머를 위한 단위테스트, 인사이트, 2004
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 강남 박인수] Web Proxy Tool - Fiddler #2 (0) | 2013.12.04 |
---|---|
[4기 강남 이상훈] What's New in Android 4.4 - 모두를 위한 안드로이드 (0) | 2013.12.04 |
[4기 광주 박주연] 바이트 데이터 변환 (0) | 2013.12.04 |
[4기 광주 박주연] Java Generic 이해 (0) | 2013.12.04 |
[4기 수원 전낙현] VS 2013 #3 (0) | 2013.12.02 |