我正在尝试对一个相当复杂但使用 MVC 的应用程序进行回顾性单元测试。我知道追溯应用单元测试并不理想,但我仍然相信通过重构现有代码是可能的。大多数情况下,如果不依赖其他单元,就不可能对一个单元进行单元测试,即视图依赖于模型。
在这种情况下进行单元测试的最佳方法是什么?使用真实模型还是创建模拟模型更好?
在我的情况下使用真实模型的问题在于该模型依赖于从 XML 获取数据的其他响应类,因此存在依赖链。这个模型有很多数据,所以使用它会容易得多,但也许我错过了重点。
为简洁起见,我提供了应用程序的 UML。
**编辑 ****
好的,如果我是正确的,在模拟类中创建模拟数据是最佳实践吗?例如,我有一个模拟类“MockPlaylistPanelModel”,它创建视图类“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;
}
}