Moles テストを更新してFakes と Stubs (Moles のリリース バージョン) を使用することをお勧めします。 Fakes と Stubsは .NET 4.5 と C# 5 に含まれており、Visual Studio 2012 でサポートされています。Fakes への変換は、基本的に Moles と同じであるため、難しくありません。
@Peter が投稿した同じ記事を紹介するつもりでした。(Peter さん、いいですね!) 説明されている回避策により、問題が解決されるはずです。
問題は、Moles が 3.0 ~ 4.0 .NET フレームワーク用に設計されていることにあると思います。4.5 .NET Framework は、新しい非同期サポートなど、このバージョンの新機能の一部を統合しています。Moles は、この新しい非同期パラダイムを処理するためのツールを備えておらず、コードを正しく計測しません。このような問題を防ぐために、コンパイラには通常、サポートされているバージョン スイッチが含まれており、将来のバージョンのコードはコンパイルされません。これは、ここに当てはまるようです。思い出せませんが、Moles 出力ウィンドウを確認してください。これらの名前空間がモールド アセンブリにコンパイルされていないと報告している可能性があります。
バージョンアップについて・・・
Visual Studio 2012 Update 2は、Premium SKU に Fakes のサポートを追加します。
次の理由から、アップグレードをお勧めします。
- Moles フレームワークは公式にサポートされていません
- ほくろは完全な製品ではありません
- ほくろは将来の更新を受信しません (この問題を引き起こしたものなど)
ソフトウェア ハウス、開発ショップ、または IT 部門の従業員であれば、ジョブ マネージャーに対して VS2012 Premium MSDN サブスクリプション SKU の費用を簡単に正当化できるはずです。定期的に契約作業の請求を行わずに自費で支払う場合、または MSDN サブスクリプションの代わりにライセンスを購入する場合は、おそらくこれが高価なオプションであることがわかります。