目前遇到的问题: 使用 pytest-rerunfailures 进行失败用例重跑,但是发现每次重跑会自动把前后置条件 fixture 里面的内容也执行一遍。fixture 里面涉及到测试数据的清理操作,导致重跑时测试数据已经被清理了。
网上查询并没有更好的方案,请问下各位测试大佬们,有没有好的思路,或者遇到相似问题的同学的。 感谢感谢!!
有大佬了解嘛
有数据清理应该也有数据创建的操作吧。。。你的 fixture 只写了删除没写创建吗...
目前没有数据创建的前后置操作,数据都是提前就创建好在数据库中的。只是在每次跑完自动化会把执行用例过程中创建的订单,商品,促销活动等等删除。如果是最后一条用例失败了,重跑就会把后置操作也执行一遍,导致数据被提前清理了,应该是三次重跑之后判断用例失败才结束并清理数据。
大概懂你的意思,我有个不是很成熟的建议,就是把删除的步骤写到用例里面,这样的话只会在用例通过之后才会删除。但是这样有个缺点,就是你的用例通过率会被拉低,因为即使用例通过了,删除的步骤里面出错了用例也会 fail。。