0
我試圖測試組織一個這樣的腳本:發電機返回嘲笑失敗assert_called_with
class Processor(object):
def __init__(self, *args):
pass
def my_iterator(elements):
for element in elements:
yield Processor(element)
我只是想測試處理器對象的創建使用傳遞在迭代的每個元素到my_iterator()
。
我分別測試Processor
,所以我寫了一個測試my_iterator()
看起來像這樣:
import mock
from mymodule import my_iterator
class TestMyIterator(object):
@mock.patch('mymodule.Processor')
def test_my_iterator(self, ProcessorMock):
vals = range(3)
g = my_iterator(vals)
for idx, item in enumerate(g):
item.assert_called_with(vals[idx])
但是當我運行測試(使用nosetests),它告訴我,item
在所有NotCalled 。當my_iterator()
產生一個元素時不應該調用它嗎?