加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

sql-如何测试数据库事务逻辑?

发布时间:2020-12-15 01:20:01 所属栏目:大数据 来源:网络整理
导读:我经常发现错误处理是最难测试的东西之一.幸运的是,有了依赖注入和模拟框架,它变得越来越容易. 但是,我仍然无法测试数据访问对象,尤其是错误处理和回滚方面.假设我在DAO方法中有两个查询,如下所示: INSERT INTO A(AID,AVAL)VALUES (1,'TEST');INSERT INTO B

我经常发现错误处理是最难测试的东西之一.幸运的是,有了依赖注入和模拟框架,它变得越来越容易.

但是,我仍然无法测试数据访问对象,尤其是错误处理和回滚方面.假设我在DAO方法中有两个查询,如下所示:

INSERT INTO A(AID,AVAL)
VALUES (1,'TEST');

INSERT INTO B(AID,BVAL)
VALUES (1,'TEST');

我想要在Spring的事务管理中实现的事务逻辑,以便如果B插入失败,则回滚A.

我该如何测试?

最佳答案
有两个DAO(当然都是基于接口的):

public interface GenericDao<T,K extends Serializable> {
    public T find(K key);
    public List<T> find();
    public K save(T value);
    public void update(T value);
    public void delete(T value);
}

GenericDao< B>被模拟为从其save方法抛出RuntimeException.您应该看到Spring事务管理器回滚了该事务.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读