doctest

doctest파이썬 언어의 표준 라이브러리로 표준 파이썬 인터프리터 셸 입출력을 주석문자열에 복사 첨부함으로부써 간단하게 프로그램 시험예를 적용시킬 수 있게 해준다.

사용 예편집

시험 겸용 주석문자열이 어떤 함수의 주석문자열 안에 내장편집

# -*- coding:cp949 -*-

def list_to_0_index(lst):
    """아래의 링크에 주어진 문제의 답임:
    http://rgrig.blogspot.com/2005/11/writing-readable-code.html

    '어떤 리스트 lst가 주어졌을 때, 각 요소가 처음 나타나는 인덱스를 구하라.
    그래서 리스트 x = [0, 1, 4, 2, 4, 1, 0, 2]는 y = [0, 1, 2, 3, 2, 1, 0, 3]로 변환된다.
    모든 i에 대해 xyi = xi이다. 프로그래밍 언어와 데이터 표현 형식은 원하는대로 선택하라'

    >>> x = [0, 1, 4, 2, 4, 1, 0, 2]
    >>> list_to_0_index(x)
    [0, 1, 2, 3, 2, 1, 0, 3]
    >>>
    """

    return [lst.index(i) for i in lst]

def _test():
    import doctest
    doctest.testmod(verbose = True)

if "__main__" == __name__ :
    _test()

비판적 의견편집

개발자에 따라서는 독테스트 doctest를 단위 테스트 unittest처럼 사용하는 데 반대하는 의견도 있다. 독테스트는 주석문자열 docstring 안에 구현되는데, 이 주석문자열은 많은 파이썬 개발 환경에서 툴팁으로 사용된다.[1] 따라서 함수의 사용법에 대해 초심자들이 살펴볼 가능성이 높은데, 문제가 될 수 있는 사용례 50개가 주석문자열에 나타난다면 과연 바람직할 것인가? 라는 주장이 주요한 근거가 되고 있다.

같이 보기편집

참고편집

  1. “처음만나는 파이썬 프로그래밍”. 2013년 3월 18일에 원본 문서에서 보존된 문서. 2012년 11월 18일에 확인함.