[python] 파이썬 함수를 doctest로 테스트하는 방법은?

doctest는 파이썬에서 함수의 동작을 테스트하는 데 유용한 도구입니다. 함수의 예상되는 입력과 출력 예제를 작성하고, 이를 자동으로 실행하여 예제와 실제 결과가 일치하는지 확인합니다. 이를 통해 함수의 동작이 원하는 대로 이루어지는지 확인할 수 있습니다.

다음은 파이썬 함수를 doctest로 테스트하는 방법입니다.

1. doctest 모듈 임포트하기

먼저, doctest 모듈을 임포트해야 합니다. 다음 코드를 추가하여 doctest 모듈을 임포트합니다.

import doctest

2. 함수에 docstring 작성하기

테스트할 함수에는 docstring을 작성해야 합니다. docstring은 함수의 설명을 나타내는 문자열입니다. 다음은 add라는 함수에 docstring을 작성하는 예시입니다.

def add(a, b):
    """
    두 숫자의 합을 반환하는 함수입니다.

    예제:
    >>> add(3, 5)
    8
    >>> add(2, -4)
    -2
    """
    return a + b

docstring은 함수 선언 바로 아래에 작성되어야 합니다.

3. doctest 실행하기

doctest 모듈의 testmod() 함수를 호출하여 doctest를 실행할 수 있습니다. 다음 코드를 추가하여 add 함수를 doctest로 실행해보세요.

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

4. 테스트 결과 확인하기

코드 실행 후, doctest의 결과를 확인할 수 있습니다. 만약 테스트가 성공적으로 수행되었다면 아무런 출력이 없을 것입니다. 하지만 예제와 실제 결과가 일치하지 않는 경우, 에러 메시지가 표시됩니다.

이렇게 doctest를 사용하여 함수를 테스트할 수 있습니다. doctest를 활용하면 함수의 동작을 간단하게 확인할 수 있으며, 문서화와 테스트가 동시에 이루어지므로 매우 효율적입니다.

참고: 파이썬 공식 문서 - doctest