自动化工具 关于 pytest 插件 pytest-rerunfailures 和 fixture 的兼容性问题

Francis · 2020年10月30日 · 最后由 去踢球吧 回复于 2020年11月09日 · 2857 次阅读

目前遇到的问题:
使用 pytest-rerunfailures 进行失败用例重跑,但是发现每次重跑会自动把前后置条件 fixture 里面的内容也执行一遍。fixture 里面涉及到测试数据的清理操作,导致重跑时测试数据已经被清理了。

网上查询并没有更好的方案,请问下各位测试大佬们,有没有好的思路,或者遇到相似问题的同学的。
感谢感谢!!

共收到 4 条回复 时间 点赞

有大佬了解嘛😂

有数据清理应该也有数据创建的操作吧。。。你的 fixture 只写了删除没写创建吗...

去踢球吧 回复

目前没有数据创建的前后置操作,数据都是提前就创建好在数据库中的。只是在每次跑完自动化会把执行用例过程中创建的订单,商品,促销活动等等删除。如果是最后一条用例失败了,重跑就会把后置操作也执行一遍,导致数据被提前清理了,应该是三次重跑之后判断用例失败才结束并清理数据。

大概懂你的意思,我有个不是很成熟的建议,就是把删除的步骤写到用例里面,这样的话只会在用例通过之后才会删除。但是这样有个缺点,就是你的用例通过率会被拉低,因为即使用例通过了,删除的步骤里面出错了用例也会 fail。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册