Visual Studio 2008 を使用して C++ アプリケーションを開発し、Boost.Test を使用して単体テストを行います。現時点では、単体テストを含む別のソリューションがあります。
コア ソリューションのプロジェクトの多くは、DLL を生成します。エクスポートされていないクラスをテストできないため、テスト範囲が限られています。
これらをテストする方法について、2 つのアイデアがあります。
- すべてをエクスポート
- テストを DLL 内に配置し (同じプロジェクトとソリューション)、Boost.Test の外部ランナーを使用します。
欠点が何であるかは完全にはわかりません。上記の番号 1 は、モジュール レベルのカプセル化を破り、番号 2 は、特定の構成にのみテスト コードを含めることが可能でない限り、はるかに大きな DLL になる可能性があります。
では、上記の方法には重大な欠点がありますか、それとも他の解決策を考えられますか?