在调用测试之前使用pytest使用命令行arg

时间:2019-09-04 13:44:22

标签: python pytest

我有几个模块可以从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

这当然是实际问题的简化示例

在开始测试之前,如何使用命令行参数导入模块?

0 个答案:

没有答案