UnitTest 框架 - 测试发现
TestLoader 类有一个discover() 函数。Python 测试框架使用它来进行简单的测试发现。为了兼容,包含测试的模块和包必须可以从顶级目录导入。
以下是测试发现的基本命令行用法 -
Python –m unittest discover
解释器尝试递归地从当前目录和内部目录加载包含 test 的所有模块。其他命令行选项是 -
先生。 | 选项和说明 |
---|---|
1 | -v, --详细 详细输出 |
2 | -s, --开始目录 目录 开始发现的目录(.默认) |
3 | -p,--模式 匹配测试文件的模式(默认为 test*.py) |
4 | -t, --顶级目录 目录 项目的顶级目录(默认为启动目录) |
例如,为了发现“tests”目录中名称以“assert”开头的模块中的测试,请使用以下命令行 -
C:\python27>python –m unittest –v –s "c:\test" –p "assert*.py"
测试发现通过导入测试来加载测试。一旦测试发现从您指定的起始目录找到所有测试文件,它会将路径转换为要导入的包名称。
如果您提供起始目录作为包名称而不是目录路径,则 discovery 会假定它导入的位置就是您想要的位置,因此您不会收到警告。