不在每个子模块上运行的模块级py.test灯具

时间:2016-04-22 17:28:52

标签: python pytest

说我有这样的目录结构

$ tree
.
├── A
│   ├── __init__.py
│   ├── conftest.py
│   ├── test_set_1.py
│   └── test_set_2.py
├── B
│   ├── __init__.py
│   ├── conftest.py
│   ├── test_set_1.py
│   └── test_set_2.py
├── C
│   ├── __init__.py
│   ├── conftest.py
│   ├── test_set_1.py
│   └── test_set_2.py
├── conftest.py
├── pytest.ini

我想定义一个pytest灯具,我可以为特定的顶层模块ABC指定运行一次,但是不是每个子模块都有一次(test_set_1.pytest_set_2.py等)

我该怎么做?我可以以某种方式在__init__.py文件中注入这些依赖项吗?

1 个答案:

答案 0 :(得分:0)

几个小时后,我找到了一个有效的答案:灯具的scope="session"参数适用于所有子模块。因此,如果A/conftest.py中包含会话级夹具,那么它只对该子模块中的所有测试运行一次,而不对其他子模块中的测试运行。