2016-01-23 31 views
-1

我有一個公共方法來測試哪些調用私有方法。這個私有方法依次調用一個使用公共方法提供的變量的數據庫。雖然單元測試我向公共方法提供了一個虛擬變量數據,但是它打破了,因爲沒有記錄可以通過該虛擬變量從數據庫中提取。我該如何處理?現在,我們有一個用於該私有方法調用的try catch塊,並且測試總是失敗。只要它沒有給出錯誤,我們就通過了測試。這是正確的方法嗎?Jnuit從公開到私有方法的測試

如果沒有多大意義,我表示歉意,我對單元測試頗爲陌生。謝謝。

+3

這似乎更像是一個集成測試,而不是單元測試。 – Zymus

+0

如果你想這樣做,通過方法的參數提供數據庫連接,併爲它提供一個內存中的數據庫對象(只要你的數據庫支持內存)除此之外,你可以添加你的私有方法訪問連接到數據庫?公共靜態字段,還是什麼?請分享一些代碼。 – RAnders00

+0

請分享代碼,以便您可以獲得真正幫助您的答案。 –

回答

2

您應該模擬數據庫請求的結果。畢竟,測試不應該知道數據庫中的數據。

Mockito可以幫助你。

2

另一種解決方案是使用像H2這樣的內存數據庫,並在測試之前用所需數據填充它。你可以使用類似DBUnit的東西來填充它。

這些測試不會是單一的,但您仍然可以使用jUnit來完成它們。