各位: 目前我正准备使用 pytest 框架进行测试,但是需要增加自定义命令行参数。因此,用了一个 fixture mySta 来获取命令行输入的参数,该参数有两个状态,sta1 和 sta2。然后,在测试用例中,我想根据 mySta 的值对某些测试用例进行 skip。 预想的是用 mySta==“sta1” 来作为 skipif 的条件,但是好像这样用是错误的。我该怎么写 skipif 的条件呢?
我就是这么用的。 关键看你参数传递对不对,格式是否匹配,多调试一下就好
我用的是@pytest.mark.skipif(mySta=="sta1"),提示错误:E NameError: name 'mySta' is not defined。我应该怎么在 mark 中使用 fixture 的名称呢?
@pytest.mark.skipif(mySta=="sta1")
你要把完整代码贴出来才知道哪里的问题啊 看报错是没定义这个变量,看下是不是没 import
mySta 是个 fixture 函数的名字,直接写在 conftest.py 中,应该不需要 import。另外,在调用该 fixture 的 testcase 内部也使用正常,只不过在@pytest.mark.skipif语句中无法直接使用。我想问的也是,怎么在这种语句中直接检查 fixture 函数返回的值。