[python] doctest를 사용하여 파이썬 데코레이터를 테스트하는 방법은?
먼저, 테스트하려는 데코레이터의 docstring에 테스트 케이스를 작성해야 합니다. 테스트 케이스는 “»>”로 시작하며, 해당 데코레이터를 사용한 예제 입력과 예상 출력을 작성합니다. 예를 들어, 아래와 같은 데코레이터를 테스트한다고 가정해봅시다.
def uppercase(func):
"""
데코레이터: 함수의 출력을 대문자로 변환하는 역할을 합니다.
>>> @uppercase
>>> def hello():
>>> return "hello, world!"
>>>
>>> hello()
'HELLO, WORLD!'
"""
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result.upper()
return wrapper
위의 코드에서는 hello()
함수를 uppercase
데코레이터로 감싸는 방식으로 사용되고 있습니다. 이 데코레이터가 예상대로 작동하는지 확인하기 위해 doctest를 사용할 수 있습니다.
doctest를 실행하기 위해서는 doctest
모듈을 import하고, doctest.testmod()
함수를 호출해야 합니다.
import doctest
if __name__ == "__main__":
doctest.testmod()
위와 같이 코드를 작성한 뒤에, 해당 모듈을 실행하면 doctest를 실행하여 데코레이터의 동작을 테스트할 수 있습니다.
이렇게 doctest를 사용하여 파이썬 데코레이터를 테스트할 수 있습니다. doctest를 사용하는 것은 간단하고 편리한 방법이며, docstring에 작성된 예제를 통해 데코레이터의 동작을 확인할 수 있습니다.