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일에 확인함.