python - Pytest 未在子目录中找到所有测试
问题描述
我无法让 pytest 在所有子目录中运行我的所有测试用例
当我pytest -v -s
在Project
目录中运行时,它最终只能找到所有测试用例ComponentB
而无法找到ComponentA
测试用例。
pytest
当我导航到相应的组件目录并运行命令时,测试用例运行良好。为什么 pytestComponentA
在顶层运行时会跳过?
Project/
|____ComponentA/
| |____srcs
| |____tests
| |__test_A_1.py
| |__test_A_2.py
| .
| .
| .
|____ComponentB/
| |____srcs
| |____tests
| |__test_B_1.py
| |__test_B_2.py
| .
| .
| .
解决方案
我假设您问题中的文件名只是示例,但请检查您的真实文件名是否符合测试发现的约定:
Pytest 实现了以下标准测试发现:
- 如果未指定参数,则收集从 testpaths(如果已配置)或当前目录开始。或者,命令行参数可用于目录、文件名或节点 ID 的任意组合。
- 递归到目录,除非它们匹配 norecursedirs。
- 在这些目录中,搜索 test_*.py 或 *_test.py 文件,由它们的测试包名称导入。
- 从这些文件中,收集测试项目:
- 在类外测试前缀测试函数或方法
- 测试前缀测试类中的测试前缀测试函数或方法(没有init方法)
推荐阅读
- sql-server - 使用 select 语句作为存储过程的输入。T-SQL
- python - 无法从转换后的冻结集合 python 3 中获取值
- java - 访问列表中的列表
- python - 如何编写正则表达式来匹配由 3 个斜杠分隔的字符?
- reactjs - GraphQL 错误:预期类型为 Int。Int 不能表示非整数值
- html - Layer the circle(div) at the middle on the img pic
- floating-point - 检索浮点运算中丢失的数字
- javascript - States For Login Page
- c# - 将进度条添加到WPF中ListBox ItemTemplate的DataTemplate但当前上下文中不存在?
- c# - NullReferenceException: Object reference not set to an instance of an object when trying to create a cascading dropdown list in ASP.NET Core MVC