我有几个模块可以从pytest程序中导入。
我希望能够获得描述我应该从中导入路径的命令行参数。
问题是我需要在任何测试开始之前导入该模块
我试图添加到conftest.py“ pytest_addoption”函数:
def pytest_addoption(parser):
parser.addoption("--type", action="store")
我希望能够在之前开始进行任何测试:
type_value = <Get the type>
if type_value == '1':
import FirstModule
elif type_value == '2':
import SecModule
...
我知道使用命令行参数的唯一方法是通过'request'使用夹具。因为我想在任何测试开始之前导入模块,所以我无法使用夹具(夹具只能在测试函数中使用)来获取type_value。 如果不使用fixture,我找不到获取“类型”命令行的方法
示例: 可以说每个模块都定义了变量“ num”: FirstModule.py:
num = 1
SecModule.py:
num = 2
测试:
pytest.mark.parametrize("val", [num])
def test_some_test():
assert True
这当然是实际问题的简化示例
在开始测试之前,如何使用命令行参数导入模块?