簡體   English   中英

Junit測試空方法

[英]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. 沒有調用依賴項。

這將有效地使任何方法做無操作。 有多種方法可以驗證第1點:手動檢查狀態,在對象之前和之后序列化對象等。點2可以簡單地通過傳入任何調用的依賴關系來解決。

如果你有一些靜態全局類,例如Environment.getConnection().publish()或者沒有使用DI,那么這個解決方案就會崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM