코 검사-프레임 워크

코 프로젝트는 다음 해인 2005 년에 출시되었습니다. py.test그것의 현대적인 모습을 받았습니다. Jason Pellerin이 py.test에서 개척 한 것과 동일한 테스트 관용구를 지원하기 위해 작성했지만 설치 및 유지 관리가 더 쉬운 패키지입니다.

그만큼 nose 모듈은 pip 유틸리티를 사용하여 설치할 수 있습니다.

pip install nose

이것은 현재 Python 배포판에 nose 모듈과 nosetest.exe를 설치합니다. 즉,이 유틸리티와 –m 스위치를 사용하여 테스트를 실행할 수 있습니다.

C:\python>nosetests –v test_sample.py
Or
C:\python>python –m nose test_sample.py

nose 테스트 수집 unittest.TestCase물론 하위 클래스. 또한 unittest.TestCase의 하위 클래스가 아닌 테스트 클래스뿐 아니라 간단한 테스트 함수를 작성할 수도 있습니다. nose는 또한 시간 제한 테스트 작성, 예외 테스트 및 기타 일반적인 사용 사례에 유용한 여러 기능을 제공합니다.

nose자동으로 테스트를 수집합니다. 테스트 사례를 테스트 스위트에 수동으로 수집 할 필요가 없습니다. 테스트를 실행하면 응답 성이 있습니다.nose 첫 번째 테스트 모듈이로드되는 즉시 테스트 실행을 시작합니다.

unittest 모듈과 마찬가지로 nose 패키지, 모듈, 클래스 및 테스트 케이스 수준에서 픽스처를 지원하므로 값 비싼 초기화를 가능한 한 자주 수행 할 수 있습니다.

기본 사용법

이전에 사용한 스크립트와 유사한 nosetest.py를 고려해 보겠습니다.

# content of nosetest.py
def func(x):
   return x + 1
   
def test_answer():
   assert func(3) == 5

위의 테스트를 실행하려면 다음 명령 줄 구문을 사용하십시오.

C:\python>nosetests –v nosetest.py

콘솔에 표시되는 출력은 다음과 같습니다.

nosetest.test_answer ... FAIL
================================================================
FAIL: nosetest.test_answer
----------------------------------------------------------------------
Traceback (most recent call last):
   File "C:\Python34\lib\site-packages\nose\case.py", line 198, in runTest
      self.test(*self.arg)
   File "C:\Python34\nosetest.py", line 6, in test_answer
      assert func(3) == 5
AssertionError
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (failures = 1)

nose 다음을 사용하여 DocTest와 통합 할 수 있습니다. with-doctest bove 명령 줄의 옵션.

\nosetests --with-doctest -v nosetest.py

당신은 사용할 수 있습니다 nose 테스트 스크립트에서-

import nose
nose.main()

테스트 스크립트가 성공하면 0, 실패하면 1로 종료하지 않으려면 (unittest.main과 같이) 대신 nose.run ()을 사용하십시오.

import nose
result = nose.run()

테스트 실행이 성공하면 결과는 true이고 실패하거나 포착되지 않은 예외가 발생하면 false가됩니다.

nose패키지, 모듈, 클래스 및 테스트 수준에서 픽스처 (설정 및 분해 방법)를 지원합니다. py.test 또는 unittest 픽스처와 마찬가지로 설정은 항상 테스트 (또는 테스트 패키지 및 모듈에 대한 테스트 모음) 전에 실행됩니다. 테스트 실행의 상태에 관계없이 설정이 성공적으로 완료되면 분해가 실행됩니다.