unittest_Test Discovery

  Unittest支持简单的Test Discovery。为了与Test Discovery兼容,所有的测试文件都必须是从项目的顶级目录中导入的模块或包(这意味着它们的文件名必须是有效的标识符)。

  Test Discovery是在testloader.discover()中实现的,但是也可以从命令行中使用。基本的命令行用法是:

cd project_directory
python -m unittest discover

  

discover 发现子命令有以下选项:

-v--verbose

详细输出

-s--start-directory directory

开始发现的目录(. 默认)

-p--pattern pattern

匹配测试文件的模式(默认test*.py )

-t--top-level-directory directory

项目的顶级目录 (默认开始目录)

-s-p和-t选项可以作为位置参数在该顺序中传递。以下两个命令行是等价的:

python -m unittest discover -s project_directory -p "*_test.py"
python -m unittest discover project_directory "*_test.py"

  除了作为一条路径,还可以传递一个包名,例如myproject.subpackage.test,作为开始目录。您提供的包名将被导入,它在文件系统上的位置将被用作开始目录。

 

警告:Test Discovery通过导入它们来加载测试。一旦测试发现找到了您指定的开始目录中的所有测试文件,就会将路径转换为要导入的包名。例如foo / bar /baz。py将作为foo.bar.baz导入。

 

posted @ 2017-12-29 17:25  小茗同学123  阅读(264)  评论(0编辑  收藏  举报