【发布时间】:2017-03-13 00:07:06
【问题描述】:
我在同一个测试类中有 2 个 JUnit 测试,每个测试都标记为 @Transactional,第一个创建用户,第二个创建用户并检查我们是否可以获得这些用户。
问题是当第二个测试运行时,第一个测试创建的用户还在数据库中。
@Test
@Transactional
public void testCreateUser() throws Exception
@Test
@Transactional
public void testGetUserById() throws Exception
你知道为什么@Transactional 在同一个测试类中不能正常工作吗?此外,数据在测试类结束时回滚。
我正在使用 Spring boot + Mysql + Hibernate。
感谢您的宝贵时间。
【问题讨论】:
-
你是在执行单元测试还是集成测试?
-
你定义了一个 transactionManager() ? :stackoverflow.com/a/35943700/641627
-
我尝试这样做,但我遇到了一些错误,例如
Could not open ServletContext resource [/application.properties]@Transactional 是为此目的而制作的,为什么它不起作用?
标签: java mysql spring hibernate junit