[英]Junit Test Empty Method
我有一個名為NullMetricsPublisher
的類,里面有一些方法,例如其中一個void publish()
。 由於類名已經表明該類應該什么都不做。 void publish()
方法基本上是空的。
void publish() {
// do nothing in this method
}
但是,我們確實需要對它進行單元測試,確保方法內部沒有任何邏輯。 想知道如何知道如何在Java中測試類的空方法?
注意 :為什么我們首先使用NullMetricsPublisher
? 我們還有另一個名為MetricsPublisher
類,它將度量標准發布到我們的度量服務。 但是,在某些情況下,我們根本不想發布指標。 現有接口必須要求Publisher
,因此,現在我們只添加了NullMetricsPublisher
類來實現Publisher
。
您無法測試方法對單元測試無效。 為了測試這個,你需要檢查是否會發生任何可能發生的事情。 可能會發生無窮無盡的事情。 因此,不可能為此編寫單元測試。
您可以測試的唯一事情是不會發生特定操作,例如NullMetricsPublisher
不會發送MetricsPublisher
類的MetricsPublisher
。
使用依賴注入時 ,您可以驗證:
這將有效地使任何方法做無操作。 有多種方法可以驗證第1點:手動檢查狀態,在對象之前和之后序列化對象等。點2可以簡單地通過傳入任何調用的依賴關系來解決。
如果你有一些靜態全局類,例如Environment.getConnection().publish()
或者沒有使用DI,那么這個解決方案就會崩潰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.