12.fixture带参数传递
场景:测试离不开数据,为了数据灵活,一般数据都是通过参数传的
解决:fixture通过固定参数request传递;
步骤:在fixture中增加@pytest.fixture(params=[1,2,3,‘linda‘])在方法参数写request
如下图,运行结果:
参数传入的可以是列表是元祖
如下图,eval将字符串str当成有效的表达式来求值,并返回结果:
当我们测试登录或者搜索这种同样的场景需要不同的数据时,就可以使用这种参数组合的方法:
运行结果如下:
方法名作为参数,indrect=True,可以把传过来的参数当函数执行
运行结果如下图:
13.mark中的skip与xfail
skip使用场景
调试时不想运行这个用例
标记无法在某些平台上运行的测试功能
在某些版本中执行,其他版本中跳过
当前的外部资源不可用时跳过(如果测试数据是从数据库中取到的,连接数据库的功能如果返回结果未成功就跳过,因为执行也都报错)
解决:
@pytest.mark.xfail跳过这个测试用例,可以加条件skipif,在满足条件下才希望通过,否则跳过这个测试。
xfail场景:
功能测试尚未实施或者未修复的错误,当测试通过时尽管预计会失败(标记为@pytest.mark.skip..xfail),它是一个xpass将在测试摘要中报告
你希望测试由于某种情况而就应该失败
解决:
@pytest.mark.xfail
原文地址:https://www.cnblogs.com/zhaikunkun/p/12589514.html
时间: 2024-10-01 00:32:07