我想追溯單元測試一個相當複雜但利用MVC的應用程序。我知道追溯應用單元測試並不理想,但我仍然相信通過重構現有代碼是可能的。大多數時候不可能單元測試一個單元,而不依賴於其他單元,即視圖依賴於模型。當單元測試依賴於其他單元時,單元測試如何進行模塊化?
這種情況下單元測試的最佳方法是什麼?利用真實模型還是創建模擬模型會更好?
與利用我的情況真實模型的問題是,該模型依賴於從XML獲得數據,所以有依賴鏈其他響應類別。這個模型有很多數據,所以使用它會容易得多,但也許我錯過了這一點。
我已經提供了簡潔的應用程序的UML。
**編輯****
好了,所以如果我是正確的,是它的模擬類中創建模擬數據的最佳實踐?比如我有模擬類「MockPlaylistPanelModel」創建要無差錯地運行所需的View類「PlaylistPanel」的數據:
class MockPlaylistPanelModel extends Mock implements IPlaylistPanelModel
{
/**
* Return all playlist items
* @public
*/
public function get mainPlaylistItems():Vector.<PlaylistData>
{
var playData:Vector.<PlaylistData> = new Vector.<PlaylistData>;
var playlistResp:PlaylistData = new PlaylistData(0, "", "", 0, 0, 0, 0);
playData.push(playlistResp);
return playData;
}
}
+1這本書的參考,爲+1的Mockito,一爲一個很好的答案 - 太糟糕了,我只能投票一次... – weltraumpirat