如何使用新添加的 python 3.5 内置函数向函数编写测试os.scandir()
?有模拟DirEntry
对象的助手吗?
例如,关于如何模拟os.scandir()
一个空文件夹和一个只有很少 2 个文件的文件夹的任何建议?
如何使用新添加的 python 3.5 内置函数向函数编写测试os.scandir()
?有模拟DirEntry
对象的助手吗?
例如,关于如何模拟os.scandir()
一个空文件夹和一个只有很少 2 个文件的文件夹的任何建议?
如建议的那样,我的解决方案涉及@mock.patch()
装饰器。我的测试变成了这样:
from django.test import TestCase, mock
from my_app.scan_files import my_method_that_return_count_of_files
mock_one_file = mock.MagicMock(return_value = ['one_file', ])
class MyMethodThatReturnCountOfFilesfilesTestCase(TestCase):
@mock.patch('os.scandir', mock_one_file)
def test_get_one(self):
""" Test it receives 1 (one) file """
files_count = my_method_that_return_count_of_files('/anything/')
self.assertEqual(files_count, 1)