4. pytest的用例发现机制

pytest 实现以下标准测试发现:

无参数

  • 如果未指定参数,则集合从[testpaths](如果已在pytest.ini配置),或当前目录开始
# 这告诉 pytest 在 从根目录执行时只在testing和doc目录中查找测试。
[pytest]
testpaths = testing doc
  • 递归查找,除非在pytest.ini定义了[norecursedirs]
# 这表明pytest不查找隐藏目录 .svn 和任何带tmp前缀的目录。
[pytest]
norecursedirs = .svn _build tmp*
  • 在这些目录中,搜索test_*.py*_test.py文件,

  • 从这些文件中,收集测试项目:

    • test 前缀测试方法

    • Test类中的test前缀的测试函数或方法(注意是没有__init__方法的类)

有参数

  • 命令行参数可用于目录、文件名或节点 ID 的任意组合。目录文件使用/分割, 类、方法使用::分割
pytest ./test  
pytest ./test/test_1.py
pytest ./test/test_1.py::TestClass
pytest ./test/test_1.py::test_function
pytest ./test/test_1.py::TestClass::test_function
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容