私はTDDを始めたばかりで、他の人がテストを実行するためにどのようなアプローチを取るのか興味があります。参考までに、私はグーグルのテストフレームワークを使用していますが、この質問は他のほとんどのテストフレームワークとC /C++以外の言語に当てはまると思います。
これまでの私の一般的なアプローチは、次の3つのいずれかを行うことでした。
アプリケーションの大部分を静的ライブラリに書き込んでから、2つの実行可能ファイルを作成します。1つの実行可能ファイルはアプリケーション自体であり、もう1つはすべてのテストを実行するテストランナーです。どちらも静的ライブラリにリンクしています。
テストコードをアプリケーション自体に直接埋め込み、コンパイラフラグを使用してテストコードを有効または無効にします。これはおそらく私がこれまで使用した中で最良のアプローチですが、コードが少し乱雑になります。
テストコードをアプリケーション自体に直接埋め込みます。特定のコマンドラインスイッチを指定すると、アプリケーション自体を実行するか、アプリケーションに埋め込まれたテストを実行します。
これらのソリューションはどれも特にエレガントではありません...
どうしますか?