如何使用持久数据库(H2 in-memory)两次以上

时间:2012-11-02 11:31:30

标签: java junit h2

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

0 个答案:

没有答案