在测试套件中运行单元测试(每个测试作为单独的测试脚本)

时间:2014-10-13 19:56:39

标签: python testing

我知道在unittest Class中运行多个定义为单独测试的测试,但我试图看看如何运行单独脚本文件作为测试套件存在的单元测试。我的脚本是用Python编写的。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用nose - 它可以自动查找单元测试。或者,您可以编写自己的测试套件加载程序,例如

import unittest
import sys
import os
import glob

__usage__ = '''
%prog      # Searches CWD
%prog DIR
'''

if __name__ == '__main__':
    unit_dir = sys.argv[1] if len(sys.argv) > 1 else '.'
    os.chdir(unit_dir)
    suite = unittest.TestSuite()
    for filename in glob.glob('test_*.py'):
        modname = filename[:-3]
        module = __import__(modname)
        suite.addTest(unittest.TestLoader().loadTestsFromModule(module))

    unittest.TextTestRunner(verbosity=2).run(suite)

运行

script.py /path/to/directory

搜索test_*.py形式的文件,将其作为模块导入然后加载 如果在模块中找到任何测试。