说我有这样的目录结构
$ 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
灯具,我可以为特定的顶层模块A
,B
或C
指定运行一次,但是不是每个子模块都有一次(test_set_1.py
,test_set_2.py
等)
我该怎么做?我可以以某种方式在__init__.py
文件中注入这些依赖项吗?
答案 0 :(得分:0)
几个小时后,我找到了一个有效的答案:灯具的scope="session"
参数适用于所有子模块。因此,如果A/conftest.py
中包含会话级夹具,那么它只对该子模块中的所有测试运行一次,而不对其他子模块中的测试运行。