2
我有一個門面類,它實現了以下方法:getTotalNumOfItems(Query query)
。門面站在兩個其他服務類之前,它們實現相同的方法。根據query
參數的類型,外觀決定是委託給其中一個服務還是另一個。單元測試門面類
我的兩難困境是如何爲門面編寫單元測試,而測試不必知道項目的數量是如何派生的。否則,它看起來像一個集成測試,而不是一個單元測試了。
我已經提供了兩種服務的就地模擬版本,使用Mockito。然而,當我爲此編寫單元測試時,我可以測試的唯一事情是「驗證facade是否返回數字,等於mock返回的內容(取決於查詢類型)」。似乎沒有辦法以比這更不可知的方式測試立面。
我在這裏做錯了什麼?我應該感到擔心嗎?我想,外觀的性質是這樣的,它的效率只能通過了解它委託的類來驗證。當然,我確信在這兩種服務中都使用相同的方法編寫單元測試。
您需要測試單個服務對象而不是門面本身。 – SMA 2015-02-09 10:32:26
所以我做到了。然而,我想確保門面總是決定正確的服務,委託給 – preslavrachev 2015-02-09 10:33:29
不,你不應該你不做UT。 UT只是類和具體的方法。 – SMA 2015-02-09 10:35:55