通常、コードベースと関連する単体テストをどのように分離していますか? 単体テスト用に別のプロジェクトを作成する人を知っていますが、個人的には混乱し保守が難しいと感じています。一方、1 つのプロジェクトでコードとそのテストを混同すると、単体テスト フレームワーク (NUnit、MbUnit など) に関連するバイナリと独自のバイナリが並んでしまいます。
これはデバッグには問題ありませんが、リリース バージョンをビルドすると、コードで単体テスト フレームワークを参照する必要がなくなります。
私が見つけた 1 つの解決策は、すべての単体テストを #if DEBUG -- #endif ディレクティブで囲むことです。コードが単体テスト アセンブリを参照していない場合、コンパイラはコンパイル済みコード内の参照を省略できます。
同様の目標を達成するための他の (おそらくより快適な) オプションはありますか?