0

最初は、EntityManager を使用して H2 インメモリ データベースにデータを永続化しようとしています。永続化は成功です。しかし、後で3つの異なるテストケースにデータをフェッチしようとすると、最初のテストケースはフェッチに成功し、2番目と3番目のテストケースはnullポインター例外をスローしています。ここで私のコードのスケルトンを示します。理解するのに役立ちます。

    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 つのテスト メソッドすべてでデータを取得しようとしています。しかし、最初の 1 つは成功し、2 番目と 3 番目のテスト メソッドは失敗し、nullPointerException を返します。ここから抜け出すための解決策を教えてください。

4

0 に答える 0