かなり複雑ですが、MVCを使用するアプリケーションを遡って単体テストしようとしています。私は単体テストを適用して回顧的には理想的ではないことを知っていますが、私はまだそれが既存のコードをリファクタリングすることによって可能と信じています。大部分の時間は、他のユニットに頼らずにユニットをテストすることができません。つまり、ビューはモデルに依存しています。ユニットテストが他のユニットに依存している場合、モジュールテストはどのようにモジュール化できますか?
この場合、単体テストにはどのような方法が最適ですか?実際のモデルを利用したり、モックモデルを作成する方が良いでしょうか?
私の状況で実際のモデルを使用する際の問題は、モデルがXMLからデータを取得する他の応答クラスに依存しているため、依存関係があることです。このモデルには多くのデータが含まれているため、これを使用する方がはるかに簡単ですが、その点を見逃している可能性があります。
私は簡潔にするためにアプリケーションのUMLを提供しました。
**編集****
[OK]を、私は正しいだので、もし、モッククラス内のモックデータを作成するためのベストプラクティスですか?例えば私はエラーなしで実行するために、「PlaylistPanel」Viewクラスに必要なデータを作成し、モッククラス「MockPlaylistPanelModel」を持っている:
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は+1、良い答えは+1 - あまりにも悪い – weltraumpirat