Java Junit忽略服务中的my@Transactional注释
我们的项目中有春季服务。例如UserService 这些服务使用@Transactional注释 我们只是尝试执行涉及这些服务的junit测试,出于某种原因,@Transactional注释被忽略。例如,我使用一个不带@Transactional的@Test,它转到一个确实是@Transactional的服务,在该服务中它保存了一个新的objectentity,该实体在事务提交结束之前保存在数据库中 我想指出的是,我们不希望junit测试本身带有@Transactional注释 可以强制junit不忽略服务中的@Transactional注释吗Java Junit忽略服务中的my@Transactional注释,java,spring,hibernate,transactions,Java,Spring,Hibernate,Transactions,我们的项目中有春季服务。例如UserService 这些服务使用@Transactional注释 我们只是尝试执行涉及这些服务的junit测试,出于某种原因,@Transactional注释被忽略。例如,我使用一个不带@Transactional的@Test,它转到一个确实是@Transactional的服务,在该服务中它保存了一个新的objectentity,该实体在事务提交结束之前保存在数据库中 我想指出的是,我们不希望junit测试本身带有@Transactional注释 可以强制juni
谢谢,您应该明确告诉JUnit使用引用中的事务示例:
@ContextConfiguration(locations={"example/test-context.xml"})
@TransactionConfiguration(transactionManager="txMgr", defaultRollback=false)
public class CustomConfiguredTransactionalTests {
// class body...
}
然后,您可以使用@NonTransactional/@Rollback/etc注释来控制特定方法的行为。如前所述,需要手动配置,因为事务不会在Spring测试上下文中持久化
可以找到本主题的Spring参考资料您如何体验它不是@Transactional的事实?这里的答案可能会有所帮助:。