春天 – @NotTransactional替代品
我正在进行单元测试,它通过DAO将信息提交到Oracle数据库,然后检索它并检查所有内容是否保持不变. 测试类中还有其他单元测试,在课程顶部我有:
我想知道如何删除@NotTransactional.我没有在类上指定Transactional,所以默认情况下不应该像那样测试.由于这是它自己的测试,我不知道@BeforeTransaction(或After)注释是否正确. 最大的问题是没有@NotTransactional,似乎没有运行unsubscribe()函数. (垃圾标志不变.) 再次运行测试,@ rollback = false和@NonTransactional存在,我在测试完成后在数据库中看到trash标记正确设置为true.
谢谢! 最佳答案
@Rollback(false)并不总是足够的,它只意味着在测试结束时不会回滚事务.但它仍然在事务中运行测试,这有时会导致与其他正在运行的事务冲突.
正如Spring建议的那样,您有两种选择: >将测试类拆分为两个,事务测试可以是在使用@Transactional注释的测试类中,而在没有事务注释的测试类中进行非事务测试. 引用Spring documentation:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |