我正在尝试为使用以下方法的方法编写单元测试:@Transactional。有两种方法被调用,每种方法都在两个表上运行更新查询,如果一个失败,另一个不应该运行或回滚。
我需要编写一个单元测试来检查事务是否正常工作。
请协助。提前致谢。
我正在尝试为使用以下方法的方法编写单元测试:@Transactional。有两种方法被调用,每种方法都在两个表上运行更新查询,如果一个失败,另一个不应该运行或回滚。
我需要编写一个单元测试来检查事务是否正常工作。
请协助。提前致谢。
测试故障条件并不是一件坏事,实际上这是应该做的事情。
我会为此进行集成测试,因为您想检查一个真实的数据库以查看故障是否按预期回滚。
你有两个测试:
如果你想要单元测试,那么例如使用内存数据库。
您不会说您正在使用哪个数据库,但通常您可以检查更新是否成功,因为更新语句会告诉您已更改了多少行。如果您得到零,或者更新语句有问题并且收到错误消息,那么您知道您需要停止
模拟第二次调用抛出异常关闭事务检查数据是否被删除