我想跳过pytest中针对特定条件的测试,但想针对test函数中的所有其他条件执行它。 例如,我的测试正在验证多个条件,但是我想跳过其中一个条件。 如果我使用的是pytest.skip,那么它也会跳过所有其他测试。我不想跳过整个测试,而是要跳过测试中的特定条件。
例如在下面的代码中,我想跳过参数是否再见的情况,但是我想在所有其他条件(如“ hello”和“ hi”)中进行断言,以及其他断言。 说断言x,y和z
parameter = ['hello','bye',hi]
#i don't want to parameterize it as i am using very long list and
using it in multiple test in different packages
def test function():
#my test have multiple asserts
assert x is true ,'x is not true'
assert y is false, 'y is not false'
for i in parameter:
assert is_present_in_json_file(i)
assert z is true, z is not true'
答案 0 :(得分:0)
您可以检查条件,如果符合则跳过测试
def test function():
assert x is true ,'x is not true'
assert y is false, 'y is not false'
for i in parameter:
if i == 'bye':
print(f"Skipping this parameter - {i} for reason")
continue
assert is_present_in_json_file(i)
assert z is true, z is not true'