2

Visual Studio 2013 の単体テストで Moq を使用しました。「vstest.console.exe」を使用して、コマンド ラインでテスト ケースを実行する必要があります。

そうしようとすると、次のエラーが発生します。

エラー: エグゼキューター 'executor://mstestadapter/v1' の呼び出し中に例外が発生しました: ファイルまたはアセンブリ 'Codex.Repository, verion=1.0.0.0, Clture-neutral, PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

これは、テストを実行するために使用するコマンドです。

vstest.console.exe "C:.../Codex.repository.unittests.dll" /UseVsixVersion /Framework:framework45

「/Tests:」タグを使用してテスト ケースを個別に実行しようとすると、より詳細なエラー メッセージが表示されました。

ファイルまたはアセンブリ 'Moq, Version=4.2.1502.911, Culture-neutral, PublicKeyToken=69f4...' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。WRN: アセンブリ バインディングのログがオフになっています。アセンブリ バインド エラーのログを有効にするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) を 1 に設定します。この機能をオフにするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] を削除します。

これで、テスト ケースで Moq を使用していることが理由であることがわかりました。

どうすればこの問題を解決できますか?

4

2 に答える 2

2

元々、obj フォルダーにある単体テスト dll ファイルを使用していました。

c:\>vstest.console.exe "..\obj\release\unittests.dll"

Visual Studio はすべての依存 .dll ファイルを bin フォルダーに配置するため、次のように変更しました。

c:\>vstest.console.exe "..\bin\release\unittests.dll"

問題が解決しました!

于 2015-05-04T15:09:31.667 に答える