pytest问题持续更新

  1. 在python中如果在子类中重写了父类的方法,而又需要执行父类的该方法,可以用Super(子类名, self).方法名  来在子类中重新执行该方法

  2. MySqlDB问题:在查询时不能拿到当前数据的状态,记录的status已经更改,但没有查到

   解决:python引用的MySQLDB需要在每次执行操作后进行commit, 即使是select语句,不然会有缓存。此问题就是前次查询后没有commit, 导致第二次查询仍然显示第一次的查询结果。

  3. 用例出现random failure时使用重试机制:

   解决:

      方法1:使用pytest的插件,pip install pytest-rerunfailures

          pytest --reruns 5 --reruns-delay 1     (出现错误时最多重试5次,重试的等待时间是1秒)

      方法2: 使用pytest自带装饰器

          @pytest.mark.flaky(retuns=5, reruns_delay=1)

          def test_example():

            pass 

      方法3:自己写装饰器实现重试

 

posted @ 2018-07-23 15:11  tlmn2008  阅读(175)  评论(0编辑  收藏  举报