2017-05-20 87 views
0

我正在爲我的項目編寫單元測試,但在調用與數據庫一起工作的方法時遇到一些困難。目前,我要檢查獲取的用戶興趣出版物清單的方法,但我正在逐漸NullPointerException測試持久化方法 - JUnit

public class TestPubManager { 
    private PubManager pFunc; 

    @Before 
    public void initialize() { 
     EntityManager manager = PersistenceManager.INSTANCE.getEntityManager(); 
     em.getTransaction().begin(); 
     PubManager pManager = new PubManager(manager); 
     } 

    @Test 
    public void testGetInterestPubs() { 
     int res = pManager.getInterestPubs(2).size(); 
     assertEquals(20, res); 
    } 
} 

NullPointerException異常是與int res = pManager.getInterestPubs(2).size();行了。我在做什麼錯誤的方式?

回答

0

我找到了解決方案。所以這個問題出現在構造函數中 - 它並沒有在@Before註解中初始化,但是當我將它放入測試中時,一切都很順利。

public class TestPubManager { 
    private PubManager pFunc; 
    EntityManager manager = PersistenceManager.INSTANCE.getEntityManager(); 

    @Before 
    public void initialize() { 
     em.getTransaction().begin(); 
     } 

    @Test 
    public void testGetInterestPubs() { 
     PubManager pManager = new PubManager(manager); 
     int res = pManager.getInterestPubs(2).size(); 
     assertEquals(20, res); 
    } 
}