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

标签 python testing

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

谢谢!

最佳答案

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

关于python - 在测试套件中运行单元测试(每个测试作为单独的测试脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26347916/

相关文章:

python - 如何将 .predict(x) 方法结果中的元素与另一个数组中的元素进行匹配并输出?

python - 如何在 python 元组中获取不同的元素?

python - 调试 sys.path 的修改

python - 使用jq正确解析数据

web-services - 写入 'Chaos Monkey' 以增加弹性

java - Arquillian 测试 POST 到 Servlet

android - 用 Espresso 测试多项 Activity

java - JUnit 测试类中的设计依赖项

c# - 是否有测试工具来测试包含复杂类型的 C# .net Web 服务?

java - 在java中序列化多个protobuf消息并在Python中反序列化