dingus

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

Rating: 4.0/5 (Total Votes: 2)

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中

類似的軟件

KOJAK
KOJAK

12 May 15

Linux Test Project
Linux Test Project

12 May 15

nose-json
nose-json

14 Apr 15

顯影劑的其他軟件 Gary Bernhardt

expecter
expecter

20 Feb 15

意見 dingus

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