dingus

軟件截圖:
dingus
軟件詳細信息:
版本: 0.3.4
上傳日期: 14 Apr 15
許可: 免費
人氣: 76

Rating: 4.0/5 (Total Votes: 3)

dingus是有點像一個模擬對象。主要的區別是,你不成立的預期提前。你只要運行你的代碼,使用dingus到位另一個對象或類的,它會記錄發生在什麼。然後,一旦你的代碼已經被行使,你可以什麼它做的dingus斷言。
新dingus從Dingus類創建。你可以給dinguses名字,這有助於調試你的測試,尤其是當有在玩多dinguses。
 從>>>進口dingus Dingus
  >>> D = Dingus(“根”)
  >>>ð
 
訪問dingus的任何屬性將返回一個新dingus。
  >>> d.something
 
也有少數例外特殊dingus方法。我們會看到一些在一個位。
一個dingus也可以被稱為像一個函數或方法。它不在乎你有多少爭論給它或者是這些參數是。調用一個dingus總是返回相同的對象,不管爭論。
  >>> D()
 
  >>> D('說法')
 
  >>> D(55)
 
錄製和斷言
在任何時候,我們可以得到已作出一個dingus的呼叫的列表。在調用列表中的每個條目包含:
  *的方法的調用的名字(或“()”如果dingus本身被稱為)
  *的參數,或者()如果沒有
  *關鍵字argumnets,或{}如果沒有
  *被返回給調用者的值
下面是我們為D迄今取得的呼叫列表:
 從>>>進口pprint pprint
  >>> pprint(d.calls)
  [('()',(),{},),
 ('()',('說法',),{} ),
 ('()',(55,),{},)]
您可以過濾按名稱,參數和關鍵字參數要求:
  >>> pprint(d.calls('()',55))
  [('()',(55,),{},)]
如果你不關心一個特定的參數的值,可以在過濾時使用的值dontCare項:
 從>>>進口dingus dontCare項
  >>> pprint(d.calls('()',dontCare項))
 ('()',('說法',),{} ),
 ('()',(55,),{},)]
Dinguses可以做的不僅僅是有訪問屬性和調用。它們支持Python的很多運營商。的目標是允許,並記錄,任何交互:
  >>> D = Dingus(“根”)
  >>>(2 ** d.something)['你好']()/ 100 *'富'
 
(希望你現實世界dingus錄音不會這個樣子!)
補丁
Dingus提供了在測試過程中修補對象的上下文經理。例如:
 從>>>進口dingus補丁
  >>>進口的urllib2
  >>>補丁('urllib2.urlopen'):
  ...打印urllib2.urlopen .__ class__
&NBSP; <類的dingus.Dingus“>
&NBSP; >>>打印urllib2.urlopen .__ class__
&NBSP; <式“功能”>
您也可以使用它作為您的測試方法裝飾:
&NBSP; >>> @patch('urllib2.urlopen“)
&NBSP; ...高清test_something(個體經營):
&NBSP; ...通
&NBSP; ...
DANGEROUS MAGIC
Dingus還可以自動運行測試時更換模塊的全局。這使您可以編寫完全隔離的單元測試。見例子/ urllib2的/ test_urllib2.py的例子。筆者不再建議使用此功能,因為它可以鼓勵很脆的測試。你應該感到手動嘲諷依賴的痛苦; 。疼痛會告訴你,當一個類合作,與太多的人

要求

  • 在Python中

類似的軟件

pyzombie
pyzombie

12 May 15

qc
qc

14 Apr 15

BuildBot
BuildBot

17 Feb 15

importchecker
importchecker

15 Apr 15

顯影劑的其他軟件 Gary Bernhardt

expecter
expecter

20 Feb 15

意見 dingus

評論沒有發現
添加評論
打開圖片!