大家好~我是米洛,欢迎关注我的个人龚仲耗
测试开发坑货
!
回顾
上一节我们讲了用例编辑页面
相关的调整,但因为我们的前置条件还不支持按顺序执行,所以我们今天来搞定它。
思考一下该怎么做
其实比较简单,我们给前置条件的表,加一个index
的字段,这样的话它就有了自己的顺序
,以后我们取用例的前置条件
就可以根据index来获取顺序了,执行case的时候也不会错乱了。
动起来
新增index字段
![](https://img.haomeiwen.com/i6053915/cb64db80b9e5a59b.png)
编写获取最新索引的方法
![](https://img.haomeiwen.com/i6053915/84c04bf2fa20b818.png)
先查询这个case下的所有前置条件,按index的倒序排列,如果没查到,则说明没有前置条件,直接返回0,否则返回index+1。
![](https://img.haomeiwen.com/i6053915/b8f09b46f617ad95.png)
注意一个问题
如果调整顺序的时候,可能每个元素
都挪动了,那该怎么办呢?
所以我们需要一个批量更新index的方法:
编写更新顺序的方法
在sqlalchemy里面,可以用bulk_update_mappings
去批量更新一些数据,但前提是必须带上id字段
。
遗憾的是,异步session不支持这方法。所以我们的方法编写起来很简单:
![](https://img.haomeiwen.com/i6053915/7579acb36fa38973.png)
直接更新后commit即可。
![](https://img.haomeiwen.com/i6053915/76ff8e1e7ccdafe8.gif)
之前的演示图是没去实际更新数据库
的。
编写更新和删除数据构造器的方法
![](https://img.haomeiwen.com/i6053915/b5b2fc3e0421dfaf.png)
可以看到更新和删除其实都是update的操作,因为咱们是软删除
,所以其实就是把constructor的deleted_at改成了当前时间。
![](https://img.haomeiwen.com/i6053915/6a4c9ee972ba88c4.png)
前端进行适配
![](https://img.haomeiwen.com/i6053915/ac2782d592c9d793.gif)
![](https://img.haomeiwen.com/i6053915/3f2e1220d25cfa75.gif)
好了,今天的内容就说到这里了。其实
最花时间的还是在前端的交互上面,但大体上数据构造器
算是可用了。
下一节我们讲讲软删除之殇
~
网友评论