我正在尝试编写功能测试套件。该测试利用一系列Rest调用来执行工作流程(测试是黑盒测试,使用其余界面。)。其余的应用程序是Spring 3,它使用Spring的事务管理(DataSourceTransactionManager)。为了避免个别安装和拆卸方法,我想使回滚able.This是完成交易的使用@TransactionConfiguration做单元\集成测试时(defaultRollback =真),但我不知道一个直接的方式这样做,同时进行集成测试(因为它们是单独的休息呼叫)。
正在测试的应用程序不是单线程的,并且多个并发测试套件可能在同一个数据库实例\应用程序上同时运行。
我的初步分析使我相信我应该强制spring为测试套件中的所有方法使用相同的可回滚事务。(比如使用Factory方法,该方法根据唯一标识符返回Transaction。传递一个唯一的请求参数并使用AOP以某种方式为此线程注入事务)
你们有没有做过类似的事情。我真的很感激一些想法。
谢谢。
答案 0 :(得分:0)
好问题,
我打算在我的Junit测试中使用交易
如果以下情况适合您,请使用
@Test
@Transactional
@Rollback(true)
我需要一段时间才能在我的项目中实现这一点,但希望,在我需要之前,这将对您有所帮助。
我读到的另一件事是程序是多线程的。
您是否不希望使用弹簧提供的隔离级别?但我认为开发人员应该照顾好这一点。