[python] doctest를 사용하여 파일 입출력을 테스트하는 방법은?

파이썬의 doctest는 모듈의 docstring에 포함된 예제를 추출하여 테스트 케이스로 실행하는 기능을 제공합니다. 이를 활용하여 파일 입출력을 테스트할 수 있습니다. 다음은 doctest를 사용하여 파일 입출력을 테스트하는 방법을 보여줍니다.

  1. 테스트하고자 하는 함수에 대한 docstring에 테스트 케이스를 작성합니다. 이때 파일의 경로와 이름을 입력으로 받아 파일을 읽고 쓰는 함수에 대한 예제를 작성합니다.
def read_file(file_path: str) -> str:
    """
    파일을 읽어서 내용을 문자열로 반환합니다.

    예제:
    >>> read_file("example.txt")
    'This is an example file.'

    Args:
        file_path (str): 파일의 경로와 이름

    Returns:
        str: 파일의 내용
    """
    with open(file_path, 'r') as file:
        content = file.read()
    return content
  1. 테스트를 실행합니다. 다음의 코드를 실행하여 doctest가 실행되도록 합니다.
import doctest

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

위의 예제에서는 “example.txt”라는 파일을 읽는 함수를 테스트하고 있습니다. doctest를 실행하면 함수의 docstring에 작성된 테스트 케이스가 실행되고, 예제와 반환 값이 일치하는지 확인됩니다.

이렇게 하면 doctest를 활용하여 파일 입출력 함수를 테스트할 수 있습니다. doctest는 간편하게 작성하고 실행할 수 있기 때문에 효율적인 테스트를 진행하는데 도움이 됩니다.

참고 문서: