gpt4 book ai didi

java - 如何模拟更新时的异常来测试spring事务管理?

转载 作者:太空宇宙 更新时间:2023-11-04 14:48:07 24 4
gpt4 key购买 nike

我在同一个 spring 管理事务下有一系列更新,如下所示:

someRepositoryA.updateEntityA(...)
someRepositoryB.updateEntityB(...)
someRepositoryC.updateEntityC(...)

如何模拟 someRepositoryB.updateEntityB(...) 抛出 Exception?这将使我看到 A 所做的更改已被撤销。由于我将测试事务,因此我无法模拟存储库,但我将使用一些内存数据库。

最佳答案

我不会模拟异常,我会让事情真正出错。

您正在使用内存数据库,因此您可以控制测试数据。此外,如果您重新创建一个真正的问题而不是伪造一些东西,那么这是一个更好的测试(更少的错误假设使您的结果无效)。

测试事务的最简单方法是让测试创建一个选择数据的 B,这样更新就会导致引用完整性约束被违反(你有任何非空约束吗?否则你可以引入一个无效的主键值(通过重新使用现有值)。 RI 违规将导致抛出异常。

关于java - 如何模拟更新时的异常来测试spring事务管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145758/

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