[python] doctest를 사용하여 단위 테스트를 작성하는 방법은?

doctest는 파이썬 내장 모듈 중 하나로, 코드와 함께 작성된 독스트링(docstring)에 있는 예제를 실행하고 결과를 검증하는 기능을 제공합니다. 이를 통해 코드의 예시 사용법과 동작을 문서화하고, 동시에 단위 테스트로 활용할 수 있습니다.

doctest를 사용하여 단위 테스트를 작성하는 방법은 다음과 같습니다:

  1. 테스트하고자 하는 함수나 클래스의 독스트링에 예제와 결과를 작성합니다. 독스트링은 함수나 클래스 정의 바로 아래에 따옴표 세 개(""")로 감싸서 작성합니다.
def add(a, b):
    """
    주어진 두 수를 더하는 함수입니다.

    >>> add(2, 3)
    5
    >>> add(5, -2)
    3
    """
    return a + b
  1. doctest 모듈을 임포트하고, doctest.testmod() 함수를 사용하여 테스트를 실행합니다.
import doctest

if __name__ == '__main__':
    doctest.testmod()
  1. 테스트를 실행하고 결과를 확인합니다. doctest는 독스트링 내의 예제를 실행하고 실행 결과를 검증합니다. 모든 테스트가 통과되면 아무런 출력이 없지만, 테스트에서 오류가 발생하면 오류 메시지가 출력됩니다.

doctest를 사용하여 작성된 예제는 테스트와 문서화를 동시에 수행할 수 있어 매우 유용합니다. 코드에 변경사항이 있을 때마다 예제에 대한 검증을 자동으로 수행하여 코드의 정확성을 보장하고, 더 나아가 다른 개발자들에게 코드의 사용법을 자세히 알려줄 수 있습니다.

자세한 내용은 Python 공식 문서의 doctest 모듈 문서를 참고하시기 바랍니다.