在pytest中使用double参数化将测试标记为xfail

问题描述

我有一个pytest测试,可以针对两个不同的数据库测试多个输入。 我使用参数化标记两次:

@pytest.mark.parametrize(
    "input_type",[
        pytest.param("input_1"),pytest.param("input_2"),],)
@pytest.mark.parametrize(
    "db_type",[
        pytest.param("db_type_1"),pytest.param("db_type_2"),)

我的经验仅是在运行input_1db_type_2时(例如),由于错误导致测试失败 但使用不同的数据库传递运行相同的输入。 我只想将input_1db_type_2组合标记为xfail,而所有其他组合均不应标记为xfail。 我找不到方法

如果将db_type_2标记为xfail:

@pytest.mark.parametrize(
    "db_type",pytest.param("db_type_2",marks=pytest.mark.xfail)
    ],)

所有输入都将失败,这不是我要寻找的行为。 有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)