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()
产生一个元素时不应该调用它吗?