.NETアプリケーション用のNUnitテストを作成しました。NUnitを実行すると、構成ファイルから接続文字列の値が読み取られません。私は成功せずに多くの解決策を試しました
- NUnitがDLLファイルをロードするパスに<アセンブリ名>.dll.configファイルを追加します。
- NUnit.exe.config/NUnit.gui.configに構成設定を追加する
VSNunitで実行しても構成設定を読み取ることができませんでした。解決策はありますか?
私は仮定しました
SomeNameSpace.MyClassLib
SomeNameSpace.MyClassLib.Test
これを試して:
app.config
をNUnit Test DLL クラス ライブラリ (つまり project )にもコピーしたことを確認してくださいSomeNameSpace.MyClassLib.Test
。
NUnit プロジェクトをビルドし (例: にSomeNameSpace.MyClassLib/bin/debug
)、以下が bin\debug (またはリリース) ディレクトリにあることを確認します。
SomeNameSpace.MyClassLib.Test.config
)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>
app.config
テスト プロジェクトにファイルを追加し、そこに構成を追加します。
次に、デフォルトではファイルを取得しないため、使用する構成を NUnit に指示する必要がありapp.config
ます。
しばらくの間、同様の問題で立ち往生していました。また、構成ファイルの名前が変更されたことに基づいて、アセンブリをどのようにロードしているかを確認する必要があります (設定から明示的な構成ファイルを使用している場合を除く)。ここで述べたように:
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 プロジェクトまたはソリューションを読み込むときも、同じ規則に従います。