독테스트(doctest)는 함수나 클래스 등의 독스트링(docstring)에 추가된 사용 예제를 자동으로 테스트하는데 사용됩니다.
최초작성 2023. 12. 20
함수나 클래스 등의 구성과 동작을 설명하기 위해 사용되는 독스트링에 대해서는 다음 포스트를 참고하세요. 본 포스트에서는 독스트링에 추가로 사용 예제를 추가한 후, 테스트하는 데 사용되는 독테스트를 다룹니다.
Python 독스트링(Docstring) 사용법
https://webnautes.tistory.com/2242
두 정수를 더하는 add함수를 정의한 후, 독스트링을 추가하여 함수의 목적, 파라미터, 리턴값에 대한 설명을 추가했습니다. 그리고 나서 함수 사용예제를 추가했습니다. >>> 다음에 함수 호출 예를 적어주고 그다음 줄에 리턴값을 적어주면 됩니다. 예를 들어 add(2,3)을 호출시 5가 리턴된다는 의미로 다음처럼 적습니다.
>>> add(2, 3)
5
add 함수에 추가되어 있는 독스트링의 사용예제를 테스트해보기 위해 다음 두줄의 코드를 다음 예제코드처럼 적어주면 됩니다.
import doctest
doctest.testmod()
def add(a, b): """ 두 정수를 더하는 함수입니다. :param a: (int) 첫 번째 정수. :param b: (int) 두 번째 정수. :return: (int) 두 정수의 합 >>> add(2, 3) 5 >>> add(10, -2) 8 """ return a + b if __name__ == "__main__": import doctest doctest.testmod() |
코드를 실행해보면 에러가 발생하지 않습니다. add 함수의 독스트링에 있는 사용예제가 문제없이 동작했기 때문입니다.
일부러 문제가 발생하도록 독스트링의 사용예제를 다음처럼 수정해봅니다. add(2,3)의 리턴값이 5가 아니라 6이라고 수정합니다.
>>> add(2, 3)
6
코드를 실행시켜보면 다음 메시지가 출력됩니다. add(2, 3) 호출의 결과로 6을 기대했는데 5가 되어서 테스트에 실패했다는 의미입니다.
**********************************************************************
File "/Users/webnautes/Python_Example/test.py", line 9, in __main__.add
Failed example:
add(2, 3)
Expected:
6
Got:
5
**********************************************************************
1 items had failures:
1 of 2 in __main__.add
'Python > Python 예제 코드' 카테고리의 다른 글
파이썬 두 변수 값 바꾸기 (0) | 2024.01.27 |
---|---|
Python fire 모듈 간단한 사용방법 (0) | 2024.01.14 |
주어진 ( 시작값 , 끝값 ) 튜플을 서브 튜플로 나누는 파이썬 예제 (0) | 2023.12.19 |
Python 독스트링(Docstring) 사용법 (13) | 2023.12.14 |
Python re.findall 예제코드 ( 문자열 찾기 ) (0) | 2023.12.13 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!