unittest 无法探测测试文件
在 python 中设置多个测试脚本时,单元测试框架通常会查找所有以 test 开头的 .py 文件。然而,在以下目录结构中遇到一个问题:
(image_search_engine) ├── testing │ ├── __init__.py │ ├── resource │ ├── test_meta.py │ └── test_sample.py
当执行以下命令时:
python -m unittest testing
测试跑起来却没有任何结果。
这种情况下,单元测试框架无法自动检测到测试脚本,因为:
- unit-test-discovery:文档指出,python -m unittest 等价于 python -m unittest discover。如果需要向测试发现传递参数,必须明确使用 discover 子命令。
- 指定目录:为了让框架自动检测测试文件,可能需要使用以下命令:
python -m unittest discover testing
通过使用 discover 命令,可以指定测试文件所在的目录,从而解决无法检测到测试脚本的问题。