在测试时遇到经常会遇到异常场景需要测试,如先调接口A查询,然后根据接口A的返回调用接口B写db,但在查询和写操作之前要构造一些异常场景,下面针对这种情况提供一些思路
2种方法构造异常场景:
- 1.常规操作或者平时使用比较多的场景为:使用byteman注入睡眠时间,利用这段时间进行操作,该方法比较容易操作无需重启,非常之方便,但今日get了一种新方法
- 2.今日get新技能,利用数据库事务
- 数据库链接1,开启事务1
- 数据库链接2,开启事务2,并且修改库存为期望值,触发行为,最后commit
注意:需要在调用服务超时前commit
1、开启事务 begin;
2、更新锁定库存 update xxx
3、触发决策锁定释放(此时会阻塞)
4、commit;
方法二可能局限性比较大,仅限于先查后操作类似于byteman的注入睡眠时间