0

Moles と MsTest を使用しているときに、説明可能な (しかし苛立たしい) 動作を見つけました。

次のケースを想像してみてください。

  • "Test DLL A" は mscorlib で Moles を使用しています
  • "Test DLL B" は mscorlib で Moles を使用しています

コンパイル時間を改善するために、どちらの場合も .moles ファイルを編集して、単一のクラスのモルの生成を要求しています。

これを行うと、プロジェクトは完全に正常にコンパイルされます。

しかし、ソリューションのテストを実行すると、MsTest プロセスは次のようになります。

  • 「Out」フォルダー内のすべての DLL をコピーします。
  • 「Out」フォルダーでテストを実行します

結果として、"Out" フォルダへのコピーは、mscorlib.Moles.dll の 2 つのバージョン (タイプ 1 とタイプ 2) をコピーしようとし、もちろん、2 つ目は最初のものを上書きします。

そのため、モール アセンブリが正しくないため、"Test DLL A" のテストは失敗します。

もちろん、2 つの簡単な回避策があります。

  • すべての .moles ファイルに (すべてのプロジェクトで) 必要なすべての型を含める
  • タイプフィルタリングを使用しない

あなたもこの「問題」に直面したことがありますか?他の解決策はありますか?

どうもありがとう !

Pierre-Emmanuel DotNetHub ユーザー グループ リーダー

4

1 に答える 1

1

これは私が知っている遅い返信ですが、ここ私の店で同じことに出くわしました.

私たちがやったのは、ほくろだけのプロジェクトを作成することでした。そして、他のすべての単体テスト プロジェクトが、MolesProject/Moles フォルダーに作成された .dll を参照するようにします。

それを活用して、ビルド時間を改善することができました

于 2011-08-26T23:20:51.993 に答える