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

파이썬에서는 doctest라는 모듈을 사용하여 클래스를 테스트할 수 있습니다. doctest는 테스트 코드를 함수 또는 클래스의 docstring에 작성하는 형식으로 작성합니다. 이를 통해 문서화와 동시에 테스트를 진행할 수 있습니다.

다음은 파이썬 클래스를 doctest로 테스트하는 예제입니다.

class Calculator:
    def add(self, x, y):
        """
        두 수를 더하는 함수
        
        >>> calc = Calculator()
        >>> calc.add(2, 3)
        5
        >>> calc.add(-4, 9)
        5
        """
        return x + y

위의 예제에서는 Calculator 클래스의 add 메서드를 doctest로 테스트합니다. add 메서드의 docstring에는 예제와 예상되는 결과가 작성되어 있습니다. 테스트를 실행할 때는 doctest 모듈의 testmod 함수를 사용합니다.

import doctest

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

테스트를 실행하면 docstring에 작성된 예제가 실행되고, 결과가 예상한 대로 나온다면 테스트가 통과한 것입니다.

doctest를 사용하여 클래스를 테스트하면 문서화와 테스트 코드를 한 곳에서 관리할 수 있으며, 문서가 항상 최신 상태를 유지하는 장점이 있습니다.

더 자세한 내용은 파이썬 공식 문서에서 확인할 수 있습니다.