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

Python 在测试套件中运行单元测试(每个测试作为单独的测试脚本),python,testing,Python,Testing,我知道在一个unittest类中运行多个定义为单个测试的测试,但我正在尝试了解如何运行作为测试套件的单个脚本文件存在的单元测试。我的脚本是用Python编写的 谢谢 您可以使用--它可以自动查找单元测试。或者,您可以编写自己的测试套件加载程序,例如 import unittest import sys import os import glob __usage__ = ''' %prog # Searches CWD %prog DIR ''' if __name__ == '__

我知道在一个unittest类中运行多个定义为单个测试的测试,但我正在尝试了解如何运行作为测试套件的单个脚本文件存在的单元测试。我的脚本是用Python编写的

谢谢

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

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
的文件,将其作为模块导入,然后加载
如果在模块中找到任何测试。

您能更清楚一点吗?是否要从
unittest.TestCase
子类运行单个测试函数?或者您想运行一套单独的
unittest.TestCase
s?后者-运行一套单独的unittest.TestCase。它们都在同一个文件中吗?不同的文件?为什么不编写另一个脚本,导入所有的unittest.TestCase,然后在最后调用unittest.main()?我该如何执行您所说的选项?我有单元测试1.py和单元测试2.py。。但是,要将这两个脚本导入到另一个文件中,我需要在目录中包含“init.py”,在该目录中我有上述两个脚本。。是这样吗/usr/bin/python import unit_test_1 import unit_test_2 if name='main':unit_test_1.unittest.main()unit_test_2.unittest.main()->这里的代码似乎没有运行任何测试..我不确定如何传递配置文件,我通常在独立运行它们时会传递配置文件(单单元测试脚本)我上面的问题,关于传递配置文件是关于上面的示例代码。我没有特定于单元测试的代码。我的脚本中通常有“setUp、tearDown和testxxxx”,但它们使用作为CLI参数传递的配置文件运行。我试图看看如何运行多个单元测试并获得一些结果。看起来“nose”需要“nose testconfig”才能使用配置文件(用于通过测试参数)