В основном я пытаюсь сделать это:Как издеваются/заменить класс со списком
class SeaLion(object):
def __iter__(self):
return self
def next(self):
...
def train():
sea_lion = SeaLion(...)
for tooth in sea_lion:
.. do something
Тогда в моем тестовом файле у меня есть:
class TestTrain(TestCase):
@patch('module.SeaLion')
def test_train(self, mock_SeaLion):
mock_SeaLion.return_value = [1,2,3]
...
В основном я хочу sea_lion в Функция train должна быть списком вместо экземпляра этого класса.
С кода выше sea_lion является MagicMock (имя = 'SeaLion()')
'mock_SeaLion = MagicMock()' - вам нужно прочитать [о том, что означает назначение в Python] (http://nedbatchelder.com/text/names.html), потому что назначение нового значения вашей локальной переменной 'mock_SeaLion', очевидно, неверно. – user2357112
Хорошая точка. Я взял эту линию. Такая же проблема, как и раньше. – Greg
Ваше решение должно работать. Можете ли вы уточнить свой вопрос, если нет? – zanseb