UWPアプリをユニットテストするための優れたモックフレームワークを見つけようとしていますが、すべての優れたモックインフラストラクチャ(MOQ、RhinoMocksなど)は、当然のことながら、UWPでサポートされていない動的プロキシに依存しているようです。
MOQはこの制限を知っているようです: https://github.com/Moq/moq4/issues/195
そして、Microsoftはこの状況ではあまり役に立ちません: https://social.msdn.Microsoft.com/Forums/en-US/652b9d16-c4ab-401c-9239-0af01108e460/uwp-is-there-any-表示-その-windows-10-uwp-universal-applications-will-support-code-missive?forum = wpdevelop
UWPアプリを単体テストするためのモックインフラストラクチャはありますか?または、ダイナミックプロキシのサポートが近い将来UWPで提供される予定がある場合は、何かアイデアはありますか?
ありがとう!
私たち(Microsoft BigPark Studio)は、UWP、.NetCore、および.Net Framework(Nuget Etg.SimpleStubs
)と互換性のあるモックフレームワークをリリースしました。フレームワークはRoslynを使用してスタブを生成します。
UWPのReflection.Emit
制限を回避するために、フレームワークはコンパイル時にスタブを生成します。スタブは、1つのステップ(ビルド中)で生成およびコンパイルされます。 VSフェイクを使用したことがある場合、エクスペリエンスは非常に似ています。
SimpleStubsはオープンソースであり、NuGetとして利用できます。
現在、.NETプラットフォーム上の他のフレームワークと同様の方法でモックを実行するHyperMockと呼ばれるフレームワークがあります。
訪問 HyperMock
これはNugetから入手できるため、HyperMock.Universalを使用してパッケージマネージャーから見つけるか、パッケージコンソールからインストールできます。
Install-Package HyperMock.Universal
UWPプロジェクトにはユニバーサルバージョンを使用してください。