我们目前正在测试 JTA 故障行为,在一个使用 JMS 接收消息、持久化它们并使用另一个类发送结果的系统上。
整个事情是使用 Spring 捆绑在一起的。当前的单元测试使用 HSQLDB、Apache ActiveMQ 和 Bitronix 进行事务管理。这方面的成功是有限的,主要是因为 HSQLDB 没有实现 XA 事务。
那么问题来了:如何在事务单元测试中最好地模拟数据库故障?有什么方法可以让标准 JDBC 驱动程序(比如 Oracle)在测试过程中失败?
注意按电源按钮不是可重复的测试:)