2

Jenkins ビルド サーバーで自動テストを実行すると問題が発生します。接続文字列を設定ファイルから searate ファイルに移動したためです <connectionStrings configSource="connectionStrings.config"/>

VS2013の Jenkins ワークスペースからプロジェクトを開いてテストを実行すると、すべて正常に動作します。コマンドを使用してビルドジョブの一部としてテストを実行しようとすると

"C:\Program Files (x86)\NUnit 2.6.4\bin\nunit-console.exe" Path\To\Project\ProjectName.Tests.csproj /xml=TestResults.xml 

コンソールに次のようなエラーが表示されます。

Test Error : ProjectName.Tests.TestClass.TestIfSomethingWorks
   System.InvalidOperationException : No connection string named 'ConnectionStringName' could be found in the application config file.

もちろん、app.configファイルとファイルの両方connectionStrings.configが、テスト プロジェクトのルート フォルダーと、これらの接続文字列を使用するソリューション内のプロジェクトにあります。

私は何か間違ったことをしていますか?これを修正する方法は?

4

1 に答える 1

2

nunit-console.execsproj ファイルを指定するとテスト アセンブリを見つけることができますが、別の作業ディレクトリで実行されているため、構成ファイルを見つけることができません。NUnit をテスト アセンブリ DLL にポイントすることで、問題を解決できるはずです。このようなもの:

"C:\Program Files (x86)\NUnit 2.6.4\bin\nunit-console.exe" Path\To\Project\ProjectName.Tests\bin\Debug\ProjectName.Tests.dll /xml=TestResults.xml 

がんばってください!

于 2015-08-03T21:39:24.953 に答える