Docsting은 코드에 대한 설명과 더불어 사용 방법을 기술하는 문서이다. 이를 통해 다른 개발자들이 코드를 쉽게 이해하고 사용할 수 있도록 가이드를 제공한다. 이와 더불어 함께 사용하면 좋은 도구가 바로 Doctest이다.
Doctest는 파이썬의 기본 모듈 중 하나로, 코드에 포함된 예제들을 자동으로 실행하고 결과를 검증하는 도구이다. Doctest를 사용하면 코드의 문서화와 테스트를 동시에 수행할 수 있다.
Doctest는 코드에 있는 docstring에 포함된 예제를 추출하여 자동으로 실행하고 결과를 검증한다. 이때, 예제 코드와 예상 결과값이 주석으로 작성되어 있어야 한다. 예제 코드에서 실제로 출력된 결과와 예상한 결과값이 일치하는지 검증하며, 이를 통해 코드의 예상되는 동작을 테스트할 수 있다.
Doctest는 테스트를 작성하고 실행하는 데 간단하고 직관적인 방법을 제공하므로, 빠른 피드백과 코드 변경사항의 영향 범위를 쉽게 파악할 수 있다. 또한, 코드의 실제 사용 예제를 첨부함으로써 다른 개발자들이 코드 실행 결과를 이해하는 데 많은 도움을 준다.
Doctest는 Docsting 내부에 작성되어야 하며, >>> 키워드로 작성하면 된다.
아래 예제 코드와 같이 >>> 키워드로 작성하면 테스트 케이스가 실행되며, Doctest의 실행 결과가 하단에 작성된 기대 결과와 다른 경우 Fail을 리포트하게 된다.
이를 통해, Doctest를 먼저 작성하고 코드를 구현함으로써 테스트 주도 개발(TDD) 방법론도 적용해 볼 수 있다. 또한 코드의 수정이나 리팩토링을 통해 기대 결과와 다르게 동작하는 것도 미리 탐지할 수 있기에 안정적인 개발을 할 수 있도록 돕는다.
def add(a, b):
"""
두 수를 더한 결과를 반환합니다.
>>> add(2, 3)
5
>>> add(-1, 5)
4
>>> add(0.1, 0.2)
0.3
"""
return a + b
if __name__ == '__main__':
import doctest
doctest.testmod()