0

我正在尝试为使用以下方法的方法编写单元测试:@Transactional。有两种方法被调用,每种方法都在两个表上运行更新查询,如果一个失败,另一个不应该运行或回滚。

我需要编写一个单元测试来检查事务是否正常工作。

请协助。提前致谢。

4

2 回答 2

0

测试故障条件并不是一件坏事,实际上这是应该做的事情。

我会为此进行集成测试,因为您想检查一个真实的数据库以查看故障是否按预期回滚。

你有两个测试:

  1. 第一次更新失败,一切都应该停止,第二次更新不应该运行。
  2. 第一次更新有效,第二次失败,所以第一次更新应该回滚。

如果你想要单元测试,那么例如使用内存数据库。

您不会说您正在使用哪个数据库,但通常您可以检查更新是否成功,因为更新语句会告诉您已更改了多少行。如果您得到零,或者更新语句有问题并且收到错误消息,那么您知道您需要停止

于 2019-06-03T13:17:47.550 回答
0

模拟第二次调用抛出异常关闭事务检查数据是否被删除

于 2019-06-03T09:46:52.920 回答