Если я понял ваш вопрос, похоже, вы не установили возвращаемое значение для своего макета.
Когда вы генерируете объект MagicMock, его возвращаемым значением по умолчанию является сам экземпляр макета, как объяснено здесь . Этот экземпляр не является итератором и, следовательно, ничего не будет делать при итерации с помощью for для l oop.
. Вы можете предоставить возвращаемые значения, как показано ниже, изменив свой макет, чтобы он также был функцией speci c Вы звоните:
@mock.patch('stack.os')
@mock.patch('stack.hashlib')
@mock.patch('stack.glob.glob', return_value=['a.png', 'b.png', 'c.png'])
def test_stack(self, mock_glob, mock_hashlib, mock_os):
stack.foo(self.temp_rg3)
print(mock_glob.method_calls)
print(mock_os.method_calls)