[python] doctest를 사용하여 변환 테스트를 하는 방법은?

doctest는 Python의 내장 모듈 중 하나로, 함수나 모듈의 독스트링(docstring)에 작성된 테스트를 실행하여 예상한 결과와 일치하는지 검증하는 기능을 제공합니다. 변환 함수를 테스트할 때 doctest를 활용하면 변환 결과를 쉽게 확인할 수 있습니다.

아래는 doctest를 사용하여 변환 함수를 테스트하는 간단한 예제입니다.

def convert_to_uppercase(text):
    """
    주어진 문자열을 대문자로 변환하는 함수입니다.

    >>> convert_to_uppercase("hello")
    'HELLO'

    >>> convert_to_uppercase("world")
    'WORLD'
    """
    return text.upper()

위 예제에서는 convert_to_uppercase 함수의 독스트링에 테스트 케이스를 작성했습니다. 테스트 케이스는 >>>로 시작하는 줄에 변환 함수를 호출하고 예상 결과를 작성합니다.

이제 테스트를 실행해보겠습니다.

import doctest

if __name__ == "__main__":
    doctest.testmod()

doctest.testmod() 함수를 호출하여 독스트링에 작성된 테스트를 실행합니다. 실행 결과로 테스트 케이스가 통과하면 아무런 메시지가 출력되지 않습니다. 하지만 테스트 케이스가 실패하면 해당 실패 내용이 자세히 출력됩니다.

doctest를 사용하면 변환 함수의 기능을 테스트하는 동시에 이를 문서화할 수 있어 매우 편리합니다. 독스트링에 작성된 테스트는 함수의 사용 예시나 예상되는 결과를 명확하게 보여주기 때문에 다른 사용자가 이해하고 사용할 수 있게 도와줍니다.

더 자세한 정보와 기능에 대해서는 Python 공식 문서를 참고하시기 바랍니다.