Python对测试功能进行单元测试

时间:2019-08-04 01:07:54

标签: python python-unittest

我正在尝试为我的搜索功能编写单元测试,该功能将搜索目录并返回与查询匹配的匹配文件列表。在编写单元测试时,我意识到如果给它测试数据,测试数据可能会占用太多空间。我该如何解决这个问题?我曾考虑过模拟测试数据,但对如何做到这一点并不熟悉。当前,这是我的单元测试之一的样子

import search_function
import unittest


class searchDirTest(unittest.TestCase):

    def setUp(self):
        pass

    def test_file_name_case_sensitive(self):

        res = search_function.search_function('./testData', 'allsmall')
        self.assertEquals(res, ['./testData/allsmall.txt', './testData/testData_subdir/allsmall.txt'])
        self.assertNotEquals(res, ['./testData/ALLSMALL.txt'])
if __name__ == "__main__":
    unittest.main()

search_function也有2个参数。路径和搜索查询。关于如何实现这一目标的任何指示?

1 个答案:

答案 0 :(得分:0)

我建议重构您的search_function,以便它接受文件名列表并返回所有匹配的文件名,例如case_insensitive_file_match(filenames)。这很容易测试,并且测试数据易于生成

最好将测试程序外部的内容排除在单元测试之外。这包括读取文件/调用API等