[python] doctest를 사용하여 웹 크롤링 코드를 테스트하는 방법은?

doctest는 파이썬의 내장 테스팅 도구로, 코드의 주석에 인터페이스 예제와 예상 결과를 작성하고 해당 예제를 실행하여 코드의 정확성을 검증하는 기능을 제공합니다. 이를 활용하여 웹 크롤링 코드의 동작을 테스트할 수 있습니다.

아래는 doctest를 사용하여 웹 크롤링 코드를 테스트하는 예시입니다:

import requests

def get_webpage_content(url):
    """
    Given a URL, returns the content of the webpage.

    >>> url = 'https://www.example.com'
    >>> content = get_webpage_content(url)
    >>> 'Example Domain' in content
    True
    """
    response = requests.get(url)
    return response.text

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

위 코드에서 get_webpage_content 함수는 주어진 URL의 웹페이지 내용을 반환하는 역할을 합니다. 함수에 대한 문서 주석에는 예제 URL을 사용하여 동작을 확인하는 테스트가 작성되어 있습니다.

위의 코드를 실행하면, doctest는 주석에 작성된 예제를 실행하고 예상 결과와 실제 결과가 일치하는지 확인합니다. 만약 결과가 일치하지 않는다면 테스트는 실패하게 됩니다.

이렇게 doctest를 사용하면 웹 크롤링 코드의 예상 동작을 문서화하고 테스트할 수 있으므로, 코드의 변경 또는 업데이트 시 예상한 동작이 유지되는지 확인할 수 있습니다.

추가적인 정보는 Python 공식 문서를 참고하시기 바랍니다.