1
在his talk, Ian Cooper(在33:30),提到了冒名頂替者的設計模式。在網上搜索時,我發現它是在Test Driven Development : by example中引入的,但我找不到更多的細節。什麼是冒名頂替者的設計模式?
- 假冒者設計模式究竟是什麼?
- 如何在C++中實現它?
在his talk, Ian Cooper(在33:30),提到了冒名頂替者的設計模式。在網上搜索時,我發現它是在Test Driven Development : by example中引入的,但我找不到更多的細節。什麼是冒名頂替者的設計模式?
冒充者也被稱爲。
當我們正在編寫一個測試中,我們不能(或選擇不)使用 真正的依賴項組件(DOC),我們可以用測試替身更換。 Test Double不必像真正的DOC一樣行爲;它只是 必須提供與真正的DOC相同的API,以便SUT 認爲它是 真實的!
實現依賴於變化:
Sketch types of test doubles http://xunitpatterns.com/Types%20Of%20Test%20Doubles.gif
我沒有聽說過伊恩或模式(每個男人和他的狗摸索任何東西的名稱,他們懷疑可能是現在是一種模式,如果他們對搜索感到厭倦的話,就可以創建一個模式),但是從頁面中的簡短描述中可以看出,它很像[嘲笑](http://en.wikipedia.org/wiki/Mock_object) –
@ TonyD是的,這是關於嘲笑,但我想看看細節如何實施我噸。我知道你可以使用工廠創建模擬對象,但到目前爲止,我從來沒有聽說過冒名頂替者的設計模式。 –
您可以通過很多方式創建模擬對象 - 取決於您要測試的代碼是否使用依賴注入(CT或RT),設置函數,工廠或任何其他方法來選擇要使用的對象。無論如何,似乎我們正在等待伊恩或其他人說出,「冒名頂替者」與嘲笑有何不同。 –