私はWinForms/Xnaアプリを書いています。コントローラー/モデルコード内のGraphicsDeviceとのやりとりを抽象化する方法が必要です。Xna:Mocking Texture2D
インターフェイスIGraphicsServiceを作成しました。私はテクスチャを読み込むようなものを抽象化するためにそれを使用します。テクスチャ情報を返す必要があるときに何をすべきかがわかりません。私はTexture2Dをラップするクラスを作成する必要がありますか?私はこれが不必要なオーバーヘッドを招くことになると心配しています。長期的には何らかのMockTexture2Dを作成したいと思っています。
これは私のアプリをよりテスト可能にするためのものです。私はそれほどスピードを心配していませんが、最終的に私はゲームをよりテスト可能にするためにこれを使用したいので、オーバーヘッドにならないような解決策があればうれしいでしょう。助言がありますか?
そのLIBの作者ですソリューションは実際に面白いですが、私が実際にテストしようとしているものより少しだけです。私はTileMapを持っており、タイルマップはTileSheetを必要とします。 TileSheetにはテクスチャが必要です。私はその依存関係を壊す方法を探しています。私は今それを持っていると思う。私はIGraphicsServiceとITextureResourceインターフェイスを作成し、読み込みテクスチャとテクスチャ情報を抽象化しています。私はテクスチャのための単純なラッパークラスを持つことはパフォーマンスのヒットの大きなものになるとは思わないが、私はそれをバックアップするデータがないので、私は間違っている可能性があります。 – smack0007
単体テスト内で実際の裸のグラフィックデバイスを作成することをお勧めします。 –
リンクが間違っています。 – jmattheis