unittest的命令执行
命令窗口执行:
1.可以在命令窗口下执行单个module、class、method
python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python -m unittest test_module.TestClass.test_method
2.执行某个文件下的测试用例
python -m unittest tests/test_something.py
3.传递-v使测试执行更加清晰
python -m unittest -v test_module
4.不传递任何测试脚本,则执行当前目录下所有能发现的脚本
python -m unittest
5.命令窗口语法查看
python -m unittest -h
optional arguments:
-h, --help 查看命令语法
-v, --verbose 详细输出
-q, --quiet 退出输出
-f, --failfast 遇到第一次失败就停止运行
-c, --catch Control-C在测试运行期间,等待当前测试结束,然后报告到目前为止的所有结果。一秒钟Control-C引发正常 KeyboardInterrupt
异常。
discover运行:
Unittest支持简单的测试发现。为了与测试发现兼容,所有测试文件都必须是可从项目的顶级目录导入的模块或 包(包括名称空间包)(这意味着它们的文件名必须是有效的标识符)。
测试发现在中实现TestLoader.discover()
,但也可以从命令行使用。基本的命令行用法是:
cd project_directory
python -m unittest discover
注意:作为快捷方式,等效于 。如果要传递参数以测试发现,则必须显式使用子命令。python -m unittest
python -m unittest discover
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
,作为起始目录。然后,将提供您提供的软件包名称,并将其在文件系统上的位置用作起始目录。