[python] doctest를 사용하여 문자열 암호화를 테스트하는 방법은?

============================================================

Python에서 doctest는 코드의 동작을 확인하고 문서화하는 데 유용한 도구입니다. doctest를 사용하여 문자열 암호화 함수를 테스트하는 방법을 알아보겠습니다.

먼저, encrypt 함수가 주어진 문자열을 암호화하는 기능을 제공한다고 가정해보겠습니다. 이 함수를 사용하여 아래와 같이 doctest 예제를 작성할 수 있습니다.

def encrypt(string: str) -> str:
    """
    주어진 문자열을 암호화하여 반환합니다.

    >>> encrypt("Hello, World!")
    'Uryyb, Jbeyq!'

    >>> encrypt("I love Python")
    'V ybir Clguba'
    """

    encrypted_string = ""
    for char in string:
        if char.isalpha():
            asc = ord(char)
            asc += 13
            if char.islower():
                if asc > ord('z'):
                    asc -= 26
                encrypted_string += chr(asc)
            else:
                if asc > ord('Z'):
                    asc -= 26
                encrypted_string += chr(asc)
        else:
            encrypted_string += char
    
    return encrypted_string

위의 예제에서는 encrypt 함수를 doctest 블록으로 래핑하고, 함수의 입력과 예상 결과를 주석으로 작성합니다.

이제, 작성한 doctest 예제를 실행하여 함수가 예상한 대로 동작하는지 확인해보겠습니다. doctest 모듈을 사용하여 테스트를 수행할 수 있습니다.

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

위 코드를 추가한 뒤, 스크립트를 실행하면 doctest가 실행되어 함수의 동작을 테스트하고 결과를 출력해줍니다.

이 방법으로 doctest를 사용하여 문자열 암호화 함수를 간단하게 테스트할 수 있습니다.

참고 자료: