dingus

소프트웨어 스크린 샷:
dingus
소프트웨어 정보:
버전: 0.3.4
업로드 날짜: 14 Apr 15
개발자: Gary Bernhardt
라이센스: 무료
인기: 12

Rating: nan/5 (Total Votes: 0)

dingus 일종의 모의 객체 같다. 주요 차이점은 미리 기대치를 설정하지 않아도됩니다. 당신은 다른 개체 또는 클래스 대신에 dingus를 사용하여 코드를 실행하고, 그것이 어떻게되는지 기록합니다. 코드이 수행되고 나면 그런 다음, 당신은 dingus에게 한 짓에 대한 주장을 할 수 있습니다.
새로운 dingus는 Dingus 클래스에서 생성됩니다. 당신은 플레이에 여러 dinguses있다 특히, 테스트를 디버깅하는 데 도움이 dinguses 이름을 제공 할 수 있습니다.
& NBSP; >>> dingus는 Dingus를 가져올에서
& NBSP; >>> D = Dingus ( '루트')
& NBSP; >>> D
& NBSP;
dingus의 모든 속성에 액세스하면 새로운 dingus를 반환합니다.
& NBSP; >>> d.something
& NBSP;
특별한 dingus 방법에 대한 몇 가지 예외가있다. 우리는 조금의 일부를 볼 수 있습니다.
dingus는 함수 또는 메소드처럼 호출 할 수 있습니다. 그것은 당신이 그것을 줄 또는 그 인수가 무엇을 얼마나 많은 인수 상관하지 않는다. dingus에 대한 호출에 관계없이 항상 인수, 같은 객체를 반환합니다.
& NBSP; >>> D ()
& NBSP;
& NBSP; >>> D ( '인수')
& NBSP;
& NBSP; >>> D (55)
& NBSP;
녹음 및 주장
언제든지 우리는 dingus에 적용된 호출 목록을 얻을 수 있습니다. 통화 목록의 각 항목은 포함
& NBSP; * 호출 된 메소드의 이름 (또는 "()"dingus 자체가 호출 된 경우)
& NBSP; * 인수, 또는 ()없는 경우는
& NBSP; * 키워드 argumnets을, 또는 {}없는 경우는
& NBSP; 호출자에게 반환 * 값
여기에 우리가 지금까지 D에 대한 한 통화의 목록입니다 :
& NBSP; >>> pprint 수입 pprint에서
& NBSP; >>> pprint (d.calls)
& NBSP; ( '(), (), {}, ),
& NBSP; ( '()'( '인수',), {}, ),
& NBSP; ( '()', (55), {}, )]
당신은 이름, 인수 및 키워드 인자로 전화를 필터링 할 수 있습니다 :
& NBSP; >>> pprint (d.calls ( '()', 55))
& NBSP; ( '()', (55), {}, )]
특정 인수의 값을 신경 쓰지 않을 필터링 할 때, 당신은 값 DontCare을 사용할 수 있습니다 :
& NBSP; >>> dingus는 DontCare를 가져올에서
& NBSP; >>> pprint (d.calls ( '()', DontCare))
& NBSP; ( '()'( '인수',), {}, ),
& NBSP; ( '()', (55), {}, )]
Dinguses는 액세스 속성을 가지고 호출보다 더 많은 일을 할 수 있습니다. 그들은 많은 파이썬 연산자를 지원합니다. 목적은 허용하고, 상호 작용을 기록한다 :
& NBSP; >>> D = Dingus ( '루트')
& NBSP; >>> (2 ** d.something) [ '안녕하세요'] () / 100 * '갑'
& NBSP;
(희망이 당신의 실제 dingus 녹음은 다음과 같이하지 않습니다!)
패칭
Dingus은 테스트 동안 개체를 패치에 대한 컨텍스트 관리자를 제공합니다. 예를 들어 :
& NBSP; >>> dingus 수입 패치에서
& NBSP; >>> 수입 urllib2를
& NBSP; >>> 패치 ( 'urllib2.urlopen')와 함께 :
& NBSP; ... 인쇄 urllib2.urlopen .__ class__
& NBSP; <클래스 'dingus.Dingus'>
& NBSP; >>> 인쇄 urllib2.urlopen .__ class__
& NBSP; <유형 '기능'>
당신은 또한 당신의 시험 방법에 장식으로 사용할 수 있습니다 :
& NBSP; >>> @patch ( 'urllib2.urlopen')
& NBSP; ... 데프 test_something (자기) :
& NBSP; ... 패스
& NBSP; ...
위험한 MAGIC
테스트를 실행할 때 Dingus도 자동으로 모듈의 전역을 대체 할 수 있습니다. 이것은 완전히 고립 된 단위 테스트를 작성 할 수 있습니다. 예를 들어 예 / urllib2를 / test_urllib2.py를 참조하십시오. 매우 부서지기 쉬운 테스트를 장려 수있는 저자는 더 이상,이 기능을 권장하지 않습니다. 수동으로 조롱 의존성의 고통을 느껴야한다; 클래스가 너무 많은 다른 사람과 협력 할 때 고통은 당신을 말할 것이다

이 요구 사항 :있다.

파이썬

유사한 소프트웨어

inFusion
inFusion

20 Feb 15

pytest-timeout
pytest-timeout

20 Feb 15

gar
gar

11 May 15

Sipbomber
Sipbomber

3 Jun 15

개발자의 기타 소프트웨어 Gary Bernhardt

expecter
expecter

20 Feb 15

코멘트 dingus

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