Fixtures

소프트웨어 스크린 샷:
Fixtures
소프트웨어 정보:
버전: 0.3.14
업로드 날짜: 14 Apr 15
개발자: Robert Collins
라이센스: 무료
인기: 75

Rating: 5.0/5 (Total Votes: 2)

.

설비는 주로 유닛 테스트 & NBSP, 재사용 가능한 상태 / 지원 로직 파이썬 계약을 정의하는 도구입니다, 도우미 및 적응 논리는 쉽게 비품 계약을 사용하여 자신의 설비를 쓸 수 있도록 포함되어 있습니다. 접착제 코드는 간단하고 곧장 앞으로 유닛 테스트 호환 테스트 케이스의 설비 계약을 충족기구를 사용하게 제공된다.
왜 일정
표준 파이썬 unittest.py는 만들고 테스트 클래스에 추가하여 메소드 이외의 테스트 케이스에 필요한 상태를 재사​​용하는 명백한 방법을 제공하지 않는다. 이 저조한 스케일링하고 - 이것이 완료 될 때 테스트 클래스 계층을 전파하면서 복잡한 도우미 함수가 일정한 패턴이다. 훌륭한 도구 자체가 (테스트 클래스에 배치하는 경우 같은 방법으로 축적 할 수 복잡한 일을 조롱하고 헬퍼)이 금지하지 않습니다 동안 비웃음.
의 TestCase에 헬퍼 것입니다 - 헬퍼는 우리가 모든 일반 코드 위생 활동이 완전히 다른 일을 모델링하는 클래스 계층 구조에있는의 왜곡 영향을받지 않고 자리를 차지할 수 있도록 테스트 클래스에 대한 종속성이없는 균일 한 계약을 정의함으로써 고통.
설비 소개
조명기구는 어떤 상태를 나타냅니다. 각기구는기구에 고유 그것에 특성을가집니다. 예를 들어, 임시 파일을 사용할 수있는 디렉토리를 나타내는 조명기는 속성 '패스'를 가질 수있다.
기구 만들기
정리가 호출되고이 완료되면 최소, 서브 클래스기구, 당신의 상태를 초기화에 대한 정리를 예약 설정을 정의합니다
>>> 수입 유닛 테스트
>>> 수입 비품
>>> 클래스 NoddyFixture (fixtures.Fixture) :
... 데프 설정 (자동) :
... 슈퍼 (NoddyFixture, 자기) .SETUP ()
... self.frobnozzle = (42)
... self.addCleanup (delattr, 자기, 'frobnozzle')
이것은 설치가 호출 될 때 frobnozzle를 초기화하고, 정리가 frobnozzle 속성 제거를 호출 할 때.
설비에 함수 나 함수 쌍을 적응 도우미가 있습니다. 그것은 fn_result 펑션의 결과를 둔다 :
>>> 수입을 os.path
>>> 가져 오기 또 shutil
>>> 가져 오기 임시 파일
>>> 데프 setup_function () :
...) (tempfile.mkdtemp 반환
>>> 데프 teardown_function (고정) :
... shutil.rmtree (고정)
>>> 고정 = fixtures.FunctionFixture (setup_function, teardown_function)
>>> fixture.setUp ()
>>> 인쇄 os.path.isdir (fixture.fn_result)
참된
>>> fixture.cleanUp ()
비품 API
위의 예는 조명기 API의 일부를 소개합니다. 기구를 사용 후 정리 할 수​​ 있도록하기 위해, 모든 비품은 고정이 완료 될 때 호출되어야 정리 방법을 정의합니다.
그것의 좋은 그들을 사용하여 사전에 관련 설비의 특정 세트를 구축 할 수 있기 때문에, 비품도를 사용하기 전에 호출해야 설정 방법을 정의 할 수 있습니다.
많은 테스트 케이스에 재사용하는 것입니다 만들 비싼 비품 하나의 일반적인 욕망; ) (이베이스 정체도 self.cleanUp 호출 리셋을 정의 지원하는 단계; self.setUp (). 보다 효율적으로 자신 재사용이 메소드를 오버라이드 (override) 할 수 있습니다기구. 이것은 다음 testresources, setUpClass, 또는 setUpModule 같은 것들을 통해 여러 테스트 상태로 사용할 수 있습니다.
테스트와기구를 사용하는 경우에는 수동으로 설치 및 정리 메서드를 호출 할 수 있습니다. 더 편리하지만 방법 (유닛 테스트는 전역 낙타 경우이기 때문에 낙타 경우) useFixture을 정의하는 믹스 인을 제공 fixtures.TestWithFixtures에서 포함 된 접착제를 사용하는 것입니다. 그것은 고정에서 설치 프로그램을 호출 정리를 예약 할 수 self.addCleanup (고정)을 호출하고 고정을 반환합니다. 이것은 하나의 기록을 할 수 있습니다 :
>>> 수입 testtools
>>> 수입 유닛 테스트
우리는 TestCase.addCleanup 방법을 보장하기 위해 필요로하는 우리가 testtools를 사용하는 참고 여기에 테스트 케이스.
& NBSP; >>> 클래스 NoddyTest (testtools.TestCase, fixtures.TestWithFixtures) :
& NBSP; ... 데프 test_example (자기) :
& NBSP; ... 고정 = self.useFixture (NoddyFixture ())
& NBSP; ... self.assertEqual (42, fixture.frobnozzle)
& NBSP; >>> 결과 = unittest.TestResult ()
합니다. & nbsp; >>> _ = NoddyTest ( 'test_example') (결과) 실행
& NBSP; >>>) (result.wasSuccessful를 인쇄
& NBSP 트루 (True)
당신은 또한 컨텍스트 매니저로 고정을 사용할 수 있도록 설비는, 상황에 맞는 프로토콜을 구현 :
>>> 고정으로 fixtures.FunctionFixture (setup_function, teardown_function)와 함께 :
... 인쇄 os.path.isdir (fixture.fn_result)
사실

이 요구 사항 :

이 파이썬

유사한 소프트웨어

개발자의 기타 소프트웨어 Robert Collins

코멘트 Fixtures

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!