【发布时间】:2011-12-29 15:51:50
【问题描述】:
我正在尝试编写一个集成/单元测试,其中在执行保存后将异常应用于 DAO - 以验证回滚行为。我的想法是创建一个 Spring AOP 方面 - 并将 @AfterReturning 建议应用于 DAO 上的“保存”方法。
DAO 已通过 @Transactional 建议代理。
这似乎是正确的方法吗?
到目前为止,我正在尝试使用 Spring ProxyFactory - 在单元测试中代理 DAO。
例如
ProxyFactory pf = new ProxyFactory(new MyFaultInjectingAspect());
pf.setTarget(myDao);
MyDao proxiedDao = (BookmarkDao) pf.getProxy();
谢谢。
【问题讨论】:
-
您是否有机制使事务失败并因此导致回滚?你有办法让你的测试设置这个失败吗?
-
问题与如何创建该机制有关。我正在考虑使用方面来注入导致失败的异常。
标签: java spring transactions spring-aop