2009-12-08 64 views
2

假設ConcreteService是我需要的唯一非測試實現。提取接口(或使其方法/屬性爲虛擬)僅僅是爲了能夠測試依賴於它的對象嗎?否則,我將不得不重新創建依賴關係線,直到每次我想測試依賴它的某個分支時爲止(直到它可以注入模擬)。可以單獨使用接口進行測試嗎?

回答

2

這非常好。

我甚至會說,即使你沒有進行測試,在早期介紹接口時可能會有很多好處,但它往往是首選。

通過在項目生命週期的早期階段對接口進行編碼,您調用ConcreteService的代碼可以調用接口,然後如果您想要引入服務的新實現,則可以減少所需的更改量使用它。

1

不完全確定設計是什麼。聽起來好像需要對抽象進行測試,然後將其與接口相連接。

相關問題