3

以前は、Visual Studio 2010 しかなかったとき、単体テストは問題なく実行されていました。

基本的に、テストは UnitTests.dll と UnitTests.dll.config の 2 つのファイルで構成されています。UniTests.dll.config には、カスタム プローブの privatePath がありました (たとえば、Public;Extensions;Lib)。

実行するために、私は次のワークフローに従っていました。2. NUnit GUI を開きます。3. テストでは、テスト対象のアプリケーションから dll をロードする必要があるため、ShadowCopy を無効にしてテストを実行します。

これはうまくいきました!

Visual Studio 2012 をインストールした後、テストが実行されなくなりました。その後、回避策を見つけましたが、それは私のソリューションでは使用したくないものです。

テストを実行するには、次のワークフローに従う必要があります。

  1. 両方のファイル (つまり、UnitTests.dll と .config) を、テスト対象のアプリケーションがあるフォルダーにコピーします。
  2. すべての NUnit インストール ファイル (つまり、nunit-agent、nunit-console など) を、テスト対象のアプリケーションが配置されているフォルダーにコピーします。
  3. UnitTests.dll.config からの同じパスを含めるために、nunit-agent.dll.config からのプローブ privatePath を変更します。
  4. アプリケーションの test フォルダーの下にある NUnit gui を開きます。
  5. ShadowCopy を無効にしてテストを実行します。

単体テストを実行するには、手順 2 と 3 を含める必要があることに注意してください。どういうわけか、nunit-agent.dll が、テスト アセンブリの構成ファイルからプローブ用の privatePath を読み込んでいないと思います。

なぜこれが起こっているのか誰にも分かりますか?nunit-agent.dll.config を変更して nunit インストール ファイルをコピーする必要がない回避策はありますか?

前もって感謝します。

4

0 に答える 0