只是想知道。 在某些应用程序中,原子性和一致性非常重要,我想应该对其进行测试...
因为我是一名 Java 开发人员,所以我将谈谈我所知道的。使用带注释的 Spring 或 EJB3 事务管理。
在应用程序的业务层进行一些重构时,我们有时不得不重新处理事务传播等,这很容易引入回归。
我只是想知道是否有简单的方法来测试我们应用程序的事务管理。 例如,假设您在 PayPal 工作。您希望确保客户的 PayPal 帐户已记入贷方,并且客户已从其银行帐户中扣款。异常(exception)情况不应允许在不向客户收取任何费用的情况下记入 paypal 帐户。
- 是否有测试这些东西的工具?
- 你做过这样的事吗?
- 或者你会怎么做?
我想这可以通过使用一些 AOP 和设计方法来“自制”来完成,以便更容易测试...
最佳答案
可以使用 Byteman 等字节码工具在测试中注入(inject)异常: http://java.dzone.com/articles/fault-injection-unit-tests
一旦引发异常,您可以检查数据库状态是否更新不一致或回滚...
关于spring - 如何有效测试事务的酸度(Java/Spring/EJB 或其他),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5967392/