如何使用新添加的python 3.5 os.scandir()
的内置函数将测试写入函数?
是否有帮助模拟DirEntry
个对象?
有关如何模拟空文件夹的os.scandir()
和少量2个文件的文件夹的任何建议吗?
答案 0 :(得分:-1)
根据建议,我的解决方案涉及@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)