Incite数据库失败进行集成测试

时间:2008-11-05 06:56:16

标签: jdbc soa integration-testing spring-test

运行集成测试时(Web服务与JDBC交谈,在这种情况下)如何强制数据库抛出错误,以便检查生成的soap错误?

我正在使用Spring的交易测试框架,因此发布一个DROP TABLE whatever;来打破它是不合理的吗? :d

2 个答案:

答案 0 :(得分:1)

根据我的经验,这是模拟对象的绝佳用法。特别是在集成测试的情况下,为了测试对象(在单元测试或对象集合中)如何处理特定故障,需要导致特定故障的情况。最好是完全控制故障,而不是在集成测试中强制执行失败的特定情况。

我最近在实体框架中工作,遇到了类似的困境。通过为实体创建模拟对象,我可以在运行某些测试时强制在方法调用期间抛出异常,以便测试与数据库交互的故障条件。这不是处理Spring的交易框架的答案,但我确信适用相同的原则。

答案 1 :(得分:0)

将数据库服务器的网络线拔掉多少?这很好地模拟了“数据库死亡”。