如何使用py3.5为函数编写测试斯堪的迪尔()?

2024-10-04 15:20:27 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用python3.5中新添加的内建函数来编写测试? 是否有一个助手来模拟DirEntry对象?在

关于如何模拟空文件夹的os.scandir()和只有两个文件的文件夹有什么建议吗?在


Tags: 文件对象文件夹os助手建议scandir内建函数
1条回答
网友
1楼 · 发布于 2024-10-04 15:20:27

正如建议的那样,我的解决方案涉及@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)

相关问题 更多 >

    热门问题