[python] doctest를 사용하여 데이터 형식 변환을 테스트하는 방법은?

문법적으로 올바른 데이터 형식 변환이 잘 작동하는지 확인하기 위해 Python에서는 doctest라는 도구를 사용할 수 있습니다. doctest는 docstring에 작성된 예제 코드를 실행하고 결과를 확인하여 테스트를 수행하는 간단한 방법을 제공합니다.

아래는 데이터 형식 변환을 테스트하기 위한 간단한 예제입니다.

def str_to_int(s):
    """
    주어진 문자열을 정수로 변환하는 함수

    >>> str_to_int("123")
    123

    >>> str_to_int("abc")
    Traceback (most recent call last):
    ...
    ValueError: invalid literal for int() with base 10: 'abc'
    """
    return int(s)

위 예제에서는 str_to_int() 함수를 정의하고, docstring에 변환 예제를 작성했습니다. 예제는 >>>로 시작하는 줄에 함수를 호출하고, 올바른 반환값이나 예외가 발생하는지를 확인합니다.

doctest를 실행하려면, 모듈의 doctest 모듈을 임포트한 후 doctest.testmod()를 호출하면 됩니다. 호출 후에는 예제 코드가 실행되고 결과가 출력됩니다. 만약 테스트에 실패하면 출력에 테스트 실패 메시지가 나타납니다.

import doctest
doctest.testmod()

위 코드를 실행하면 docstring에 작성된 예제가 실행되고 테스트 결과를 출력합니다. 모든 예제가 성공적으로 통과하면 아무런 출력이 없습니다. 그러나 테스트에 실패한 경우 해당 예제와 상세한 오류 메시지가 출력됩니다.

doctest를 사용하면 데이터 형식 변환이나 함수 실행에 대한 예제를 쉽게 작성하고 테스트할 수 있습니다. 이를 통해 코드를 작성하는 동시에 예제를 제공하고, 코드 변경으로 인한 문제 발생 여부를 미리 감지할 수 있습니다.

참고 문서: Python doctest 문서