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. 처음만나는 파이썬 프로그래밍