2

.NETアプリケーション用のNUnitテストを作成しました。NUnitを実行すると、構成ファイルから接続文字列の値が読み取られません。私は成功せずに多くの解決策を試しました

  1. NUnitがDLLファイルをロードするパスに<アセンブリ名>.dll.configファイルを追加します。
  2. NUnit.exe.config/NUnit.gui.configに構成設定を追加する

VSNunitで実行しても構成設定を読み取ることができませんでした。解決策はありますか?

4

3 に答える 3

0

私は仮定しました

  • テスト中のアセンブリ:SomeNameSpace.MyClassLib
  • 単体テストを含む NUnit アセンブリ:SomeNameSpace.MyClassLib.Test

これを試して:

  1. app.configをNUnit Test DLL クラス ライブラリ (つまり project )にもコピーしたことを確認してくださいSomeNameSpace.MyClassLib.Test

  2. NUnit プロジェクトをビルドし (例: にSomeNameSpace.MyClassLib/bin/debug)、以下が bin\debug (またはリリース) ディレクトリにあることを確認します。

    • テストするアセンブリ、
    • NUnit テスト DLL と
    • 構成 ( SomeNameSpace.MyClassLib.Test.config)
    • テスト対象の DLL ファイルに必要なその他のアセンブリ。
  3. NUnit GUI プロジェクト エディターの XML ビューで NUnit プロジェクトを編集し (メニュー [プロジェクト] → [編集] 、または単にメモ帳で編集)、テスト アセンブリ (MyClassLib.Test.dll) と構成ファイル名が相対的であることを確認します。あなたのアプリベース

    例えば、

    <NUnitProject>
      <Settings activeconfig="Debug" processModel="Default"
                domainUsage="Default"
                appbase="C:\Temp\MyProject\MyClassLib.Test" />
      <Config name="Debug" binpathtype="Auto"
              configfile="bin\Debug\MyClassLib.Test.dll.config">
        <assembly path="bin\Debug\MyClassLib.Test.dll" />
      </Config>
      <Config name="Release" binpathtype="Auto" />
    </NUnitProject>
    
于 2012-09-07T13:34:35.093 に答える
0

app.configテスト プロジェクトにファイルを追加し、そこに構成を追加します。

次に、デフォルトではファイルを取得しないため、使用する構成を NUnit に指示する必要がありapp.configます。

スクリーンショットでこれを設定する方法の詳細

于 2012-12-14T12:13:11.587 に答える
0

しばらくの間、同様の問題で立ち往生していました。また、構成ファイルの名前が変更されたことに基づいて、アセンブリをどのようにロードしているかを確認する必要があります (設定から明示的な構成ファイルを使用している場合を除く)。ここで述べたように:

http://www.nunit.org/index.php?p=configFiles&r=2.2.10

1 つのアセンブリが読み込まれている場合、構成ファイルにはアセンブリ ファイルの名前に config 拡張子が付けられます。たとえば、nunit.tests.dll の実行に使用される構成ファイルは、nunit.tests.dll.config という名前で、DLL ファイルと同じディレクトリに配置する必要があります。

NUnit プロジェクトが読み込まれている場合、構成ファイルは、拡張子が構成に変更されたプロジェクト ファイルの名前を使用します。たとえば、プロジェクト AllTests.nunit には、AllTests.nunit と同じディレクトリにある AllTests.config という名前の構成ファイルが必要です。Visual Studio プロジェクトまたはソリューションを読み込むときも、同じ規則に従います。

于 2013-10-28T20:29:51.420 に答える