Я продолжаю играться с тестами, и вот есть у меня такая функция:
# file src/secret_service.py def remove_obsolete_files(file_list): for filename in file_list: try: # кусок кода вырезан: валидация, добавление правильного пути и т.п. os.remove(full_filename) except: # filename can be None pass
Я хочу проверить, что os.remove будет вызываться с правильными full_filename. Обычно, я юзал mock.patch:
import mock from src.secret_service import remove_obsolete_files def test_remove_obsolete_files(): mock_remove = mock.MagicMock() with mock.patch('src.secret_service.os.remove', mock_remove): remove_obsolete_files(['file1', None, 'file2']) # тогда mock_remove имеет атрибут mock_calls и я могу проверить как угодно
Но, в текущем проекте повсюду используется библиотека mockito, а не mock, и с ней у меня не получается такого сделать, то есть даже замокать os.remove не удается через эти его when.thenReturn, verify и т.д.
Можно ли это сделать с помощью mockito и как?