2012-09-23 5 views
5

誰もがWindows Store App開発のための良いTDDセットアップを思いついていますか?私はモックフレームワークを使用するのに慣れていますが、WinRTではダイナミックなアセンブリ生成が行えないため、これはオプションではありません。TDD for Windows Mockを使わないでアプリを開発する

私はアルファMoqRTフレームワークを見ましたが、私はそのような実験段階で何かを避けたいと考えています。私はまた、Microsoft(Microsoft Fakes)の代替品として提供されているスタブやシムを使用することを嫌うモックオブジェクトを使用して、とても甘やかされました。

DIと適切に分離されたTDDスタイルの単体テストを使用してWindows Store App開発を行うための優れたテクニックをうまく理解した人はいますか?もしそうなら、あなたは何をしましたか?

編集

私も多分オプションではありませんように、「偽物アセンブリを追加」オプションは、私の「Windowsストアアプリの」ユニットテストプロジェクトに存在しないことに注意してください。

答えて

3

私が試しているアプローチは、標準の.NET 4.5アセンブリにテスト可能なコードを配置し、通常の単体テストプロジェクトを使用してモックで単体テストできるようにすることです。次に、Windows Store Appプロジェクトでは、これらの同じソースファイルがリンクとして追加されます。これは、2つのプラットフォーム間でプロジェクトの参照を複製する必要があるため、不便です。両方のプロジェクトでコードをコンパイルするように注意する必要がありますが、この方法ではより優れたユニットテストツールを使用できます。

私はまだ熱心に誰かが何か良いものを思い付くのを見るのを待っています。

+3

私はちょうどこれに頭を叩いて数時間を費やした!狂ってる!マイクロソフトでは、Windowsストアアプリケーション用のMVVMを宣伝しています.DOMを使用したユニットテスト(モックや偽物の存在を前提とする)は、MVVMを使用する大きな理由です。これを行うことは非常に困難であることはただの驚異的な見落としです。これは大きな後退です。 –

0

Telerik JustMockを使用することで、Windows Store Appで慣れ親しむことができます。これは、テストプロジェクトでインポートするDLLを提供する別個のインストーラとして利用できます。無料ですが、最初に登録する必要があります。

構文はMoqとあまり変わりません。便利な拡張機能を追加するには、Telerik.JustMock.Helpersという名前空間も追加することを忘れないでください。

私は現在、Prism.StoreAppsを使用してUniversallアプリケーションを開発するために使用しています。 JustMockでは、私は今ViewModelを単体テストでテストできます。私は今、私のソフトウェアのすべての層を単体テストすることができます。私はもはやPCL層を作成しなくてはなりません。今はPortable 8.1プロジェクトです。

+3

JustMockはまだwin10に移植されていないようです:install-package:JustMock 2015.2.715.1はUAP、Version = v10.0(win10-x64-aot)と互換性がありません。 – faester