我有一个pytest testconf和一个测试函数 跑步时我想要那个:
pytest -q -option="choose_a"
它将通过A
并在运行时
pytest
它将通过B.
问题是它没有看到my_param'在灯具中,因为它有一个默认参数。我能做些什么来使这个工作和优雅?
我当前的临时解决方案(我不喜欢)正在删除默认值,并使用" if" conftest.pytest_generate_tests中的陈述......请给我一个更好的陈述:)
conftest.py:
def pytest_addoption(parser):
parser.addoption("--myoption", action="append", default=[], help="list of choices")
def pytest_generate_tests(metafunc):
if 'my_param' in metafunc.fixturenames:
if 'choose_a' in metafunc.config.option.myoption:
metafunc.parametrize("my_param", ["A"])
mytest.py:
def test_my(my_param='B'):
do_stuff(my_param)