簡體   English   中英

使用吸氣劑而不分配返回值是不好的做法嗎?

[英]Is using a getter but not assigning the return value bad practice?

我目前正在編寫單元測試來測試客戶端和服務器之間的連接。 目前,我有以下測試; isConnectionSuccessful,isDisconnectionSuccesful和isReconnectionSuccesful。

為了減少重復,我為連接的客戶端創建了一個吸氣劑。 當getter測試客戶端是否已連接時,我決定也要在isConnectionSuccesful中對其進行調用,但這意味着不必要地返回了客戶端。 但是對於其他測試,這種方法似乎非常適合。

使用這種方法是否可以,並且只是不為isConnectionSuccessful分配getter的值,或者這是設計缺陷嗎?

為了澄清我有以下測試/方法:

isConnectionSuccessful
//call getConnectedClient

isDisconnectionSuccessful
//call getConnectedClient and assign it
//disconnect logic....

isReconnectionSuccessful
//call getConnectionClient and assign it
//disconnect
//reconnect

getConnectedClient
//instantiate client
//check it is connected
//return client

我認為您在這里談論單元測試設計。 如果是這樣,則測試遵循的規則與主要來源的規則有所不同。 測試的主要目標是使測試易於理解並提供“安全網”以支持對其測試代碼的更改。 要將這些目標應用於您的問題,對於讀者而言, getConnectedClient會進行連接檢查可能不是立即顯而易見的,因此這是isConnectionSuccessful測試中唯一需要的操作。 這可能是編寫不同測試的理由。 另一方面,如果您覺得測試更容易理解它的方式,那么也許您只需要將getConnectedClient的名稱更改為connectClientAndVerifyConnection

暫無
暫無

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

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