我要尋找蟒蛇磕碰庫。一些可以用來製造假類/在我的單元測試方法..有一個簡單的方法來實現它在Python ..Python庫創建存根/虛假對象
感謝
PS:我不是在尋找嘲弄圖書館,在那裏你會記錄和重播期望。
Difference between mock and stubs
我要尋找蟒蛇磕碰庫。一些可以用來製造假類/在我的單元測試方法..有一個簡單的方法來實現它在Python ..Python庫創建存根/虛假對象
感謝
PS:我不是在尋找嘲弄圖書館,在那裏你會記錄和重播期望。
Difference between mock and stubs
我們做到這一點。
class FakeSomethingOrOther(object):
def __init__(self):
self._count_me= 0
def method_required_by_test(self):
return self.special_answer_required_by_test
def count_this_method(self, *args, *kw):
self._count_me += 1
它並不需要太多設置它們
class TestSomething(unittest.TestCase):
def setUp(self):
self.requiredSomething = FakeSomethingOrOther()
self.requiredSomething.attribute_required_by_test= 12
self.requiredSomething.special_answer_required_by_test = 32
self.to_be_tested = ActualThing(self.requiredSomething)
既然你不需要複雜的靜態檢查類型聲明,所有你需要的是用正確的方法的類。您可以輕鬆地強制測試屬性值。
這些東西都是真的,真的很容易寫。你不需要很多支持或圖書館。
在其他語言(即Java的)它是很難寫的東西會通過靜態編譯時檢查鼓起。由於Python沒有這個問題,因此爲了測試目的而寫入mock或虛假實現是微不足道的。
Python mocker看起來不錯。
Mocker實例用於對任意數量的模擬對象命令記錄和重播 期望值。
這難道不是一個模擬框架......在這裏你記錄的期望,並確認他們......是沒有什麼簡單的將只是創建假的實施對我來說..感謝 – StackUnderflow 2010-03-12 22:11:33
@StackUnderflow:請區分某種頭髮。你能否更新你的問題來定義「嘲笑」和「假實施」之間的區別。我認爲他們是一樣的,但你說他們不一樣。 – 2010-03-12 22:16:33
「模仿對象總是使用動作驗證,存根可以去任何一種方式。」所以一個存根是一個模擬?當「存根」可以與嘲笑做同樣的事情時,說「不嘲笑」有什麼意義?請不要引用大篇幅的文章,請提供對您而言很重要的實際差異。 – 2010-03-13 02:53:08