有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

TestsNG中有多个测试的java事务问题

我有两个测试用例,第一个测试用例保存记录,第二个更新添加到第一个测试用例中的记录。我使用JPA/Hibernate作为ORM

我的TestNG测试类如下所示:

@ContextConfiguration("file:application-context-test.xml")
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
public class MyEntityTest {

    int long myEntityId; 

    @Test
    @Transactional
    public saveTest(){
      session=getCurrentSessionFactory()
      myEntity = new myEntity();
      myEntityId = session.save(myEntity)
    }

    @Test(dependsOnMethods={"saveTest"})
    @Transactional
    public updateTest(){
      session=getCurrentSession()
      myEntity =session.getByID(myEntityId)
      session.update(myEntity)
    }
}

但是当执行第二个测试用例时,这会提示错误,即记录/实体不存在

即使这两个测试都被注释为@Transactional,但似乎测试都是在单独的事务中执行的

知道吗?我错过了什么重要的东西吗?这是执行测试的正确方式,还是我应该遵循一些不同的方法


共 (0) 个答案