最初我试图使用 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。请给我一个解决方案来解决这个问题。