gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:53:18 24 4
gpt4 key购买 nike

我经常发现错误处理是最难测试的事情之一。值得庆幸的是,有了依赖注入(inject)和模拟框架,它变得容易多了。

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

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

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

我想要事务逻辑,在 Spring 的事务管理中实现,这样如果插入 B插入 A 失败被回滚。

我该如何测试呢?

最佳答案

有两个 DAO(当然都是基于接口(interface)的):

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>被 mock 抛出 RuntimeException从它的保存方法。您应该看到 Spring 事务管理器回滚事务。

关于sql - 如何测试数据库事务逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com