[python] doctest를 사용하여 테스트 케이스를 생성하는 방법은?

doctest를 사용하여 테스트 케이스를 생성하는 방법은 다음과 같습니다:

  1. 테스트할 함수나 모듈의 docstring에 테스트 케이스를 작성합니다. 이때, 예제의 입력과 기대 출력을 작성해야 합니다. 예제의 입력은 “»>”로 시작하고, 기대 출력은 다음 줄부터 작성합니다.

    def add(a, b):
        """
        두 숫자의 합을 반환하는 함수입니다.
    
        >>> add(2, 3)
        5
        >>> add(-1, 5)
        4
        """
        return a + b
    
  2. 작성한 docstring에 있는 예제를 실행하여 테스트를 수행합니다. 이를 위해 doctest 모듈을 사용합니다. 실행시에 -v 옵션을 추가하면 세부 정보도 표시됩니다.

    import doctest
    
    if __name__ == "__main__":
        doctest.testmod(verbose=True)
    

    위 예제 코드를 실행하면, add 함수의 docstring에 있는 예제가 실행되고, 기대 출력과 실제 출력이 일치하는지 확인됩니다.

doctest는 코드의 문서화에 동시에 테스트 케이스를 작성할 수 있어서 유용합니다. 코드 변경 시 기존 예제와 여러분이 작성한 예제가 모두 정상적으로 동작하는지 검증할 수 있습니다. 추가로, 테스트 결과를 문서 형태로 만들어주기도 합니다.

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