別のプロジェクトでいくつかの単体テストを作成しました。開発中は、毎回 dll を NUnit.exe にロードして結果を確認しました。単体テストの作成が完了したので、単体テストを整理してソリューションに添付する方法について説明します。
ソリューションディレクトリに「ツール」フォルダーを作成してから、NUnit関連のすべてのライブラリを配置し、テストプロジェクトのビルド後のイベントで、以下のようにnunitを接続して動作させました。
"$(SolutionDir)tools\nunit\nunit-console.exe" "$(TargetPath)"
しかし、私のテストの 1 つで、sqlite DB を参照しています。その場所をハードコードすると問題なく動作しますが、「App_Data」フォルダーの下のテストプロジェクトに配置するつもりです。そのため、以下のコードで相対パスを取得しようとしましたが、機能していません。しかし、ファイルを「tools」フォルダーにコピーすると、正常に機能します。実行コンテキストはNUnitフォルダーからのものだと思います。
Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),"App_Data\\test.txt")