当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python unittest.main用法及代码示例


用法:

unittest.main(module='__main__', defaultTest=None, argv=None, testRunner=None, testLoader=unittest.defaultTestLoader, exit=True, verbosity=1, failfast=None, catchbreak=None, buffer=None, warnings=None)

一个 命令行 程序,从 module 加载一组测试并运行它们;这主要是为了使测试模块方便地执行。此函数最简单的用途是在测试脚本的末尾包含以下行:

if __name__ == '__main__':
    unittest.main()

您可以通过传入详细参数来运行包含更详细信息的测试:

if __name__ == '__main__':
    unittest.main(verbosity=2)

如果没有通过 argv 指定测试名称,defaultTest 参数或者是单个测试的名称,或者是要运行的可迭代的测试名称。如果未指定或 None 并且没有通过 argv 提供测试名称,则运行在 module 中找到的所有测试。

argv 参数可以是传递给程序的选项列表,第一个元素是程序名称。如果未指定或 None ,则使用 sys.argv 的值。

testRunner 参数可以是测试运行程序类,也可以是已创建的实例。默认情况下 main 调用 sys.exit() 并带有指示测试运行成功或失败的退出代码。

testLoader 参数必须是 TestLoader 实例,默认为 defaultTestLoader

main 支持通过传入参数 exit=False 从交互式解释器中使用。这将在标准输出上显示结果而不调用 sys.exit()

>>> from unittest import main
>>> main(module='test_module', exit=False)

failfastcatchbreakbuffer 参数与 same-name 命令行 options 具有相同的效果。

warnings参数指定警告过滤器应该在运行测试时使用。如果未指定,它将保留None如果一个-W选项被传递给Python(参考警告控制),否则将设置为'default'.

调用 main 实际上会返回 TestProgram 类的实例。这会将测试运行的结果存储为result 属性。

在 3.1 版中更改: exit添加了参数。

在 3.2 版中更改: verbosity,failfast,catchbreak,bufferwarnings添加了参数。

在 3.4 版中更改: defaultTest参数已更改为也接受可迭代的测试名称。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 unittest.main。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。