Application.ExecutablePathは、テストランナーに応じて異なる値を返しますか?
-
07-07-2019 - |
質問
複数のテストランナーで一貫した単体テスト結果を取得する方法があるかどうかを確認しようとしています。現在の状況では、NUnit GUIでテストを実行すると4つのテストに合格しますが、TestDriven.NETまたはReSharperテストランナーを使用して実行すると失敗するテストアセンブリがあります。これらのテストが失敗する(System.NullReferenceExceptionがスローされる)場合、Application.ExecutablePathはテストアセンブリのDLLではなくテストランナーの実行可能ファイルを返しているようです。
使用する必要があるApplication.ExecutablePath以外の値はありますか(現在、DLLの.configファイル内の値にアクセスするために使用しています)?他のテストランナーが失敗している間にNUnit GUIが正しく動作する(またはしない)NUnit GUIは何ですか?
解決
代わりにSystem.Reflection.Assemblyクラスの使用を試すことができます。例:
String strPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
このクラスには他にもメソッドとプロパティがいくつかあるため、必要なものが見つかるはずです。
所属していません StackOverflow