最初我试图将使用EntityManager的数据保存到H2内存数据库中。坚持是成功的。但后来当我试图将数据提取到3个不同的测试用例时,第一个测试用例在获取时是成功的,第二个和第三个测试用例是抛出空指针异常。在这里我给出了我的代码的骨架,它将帮助你理解。
Class Testclass
{
@PersistenContext
EntityManager em;
@Transactional
@Before
public void beforeEachTest
{
ClassName obj=new ClassName();
obj.setName("name");
em.persist(obj);
}
@Test
@Transactional
public void testMethod1()
{
//fetching values
obj.getName();
}
@Test
@Transactional
public void testMethod2()
{
obj.getName();
}
@Test
@Transactional
public void testMethod3()
{
obj.getName();
}
}
在上面的骨架代码中,在'beforeEachTest'方法中我试图保持数据。它是成功的。然后我试图在所有3种测试方法中获取数据。但第一个是成功的,第二个和第三个测试方法失败并返回nullPointerException。请给我一个解决方案来解决这个问题。