C++ クラスのテスト コードを書きたいと思います。クラスはアプリケーションの一部ですが、ライブラリの一部ではないため、単体テスト コードを実行するためにプロジェクトをライブラリとしてビルドする必要がない単体テスト フレームワークはどれですか?
WinUnit を試してみましたが、ライブラリしかテストできないようです。
C++ クラスのテスト コードを書きたいと思います。クラスはアプリケーションの一部ですが、ライブラリの一部ではないため、単体テスト コードを実行するためにプロジェクトをライブラリとしてビルドする必要がない単体テスト フレームワークはどれですか?
WinUnit を試してみましたが、ライブラリしかテストできないようです。
私が知っているテスト フレームワークは、それを可能にします。これは、テスト フレームワーク自体ではなく、ビルド環境の設定の問題です。
ただし、それを維持する最も簡単な方法は、アプリケーション コードのライブラリをセットアップすることです。
WinUnit を使用したことはありませんが、テスト対象のコードがライブラリにない VisualStudio プロジェクト内で CppUnit と GoogleTest を使用したことがありますが、SUT の実装ファイルは単体テスト プロジェクトで参照 (インクルード) され、うまくいきました。
実行可能ファイルは、デフォルトではシンボルをエクスポートしません。-Wl,--export-dynamic
ライブラリであるかのように、生成された実行可能ファイルに対してリンクして、それを有効にする必要があります。これは、使用するクラスなどで適切なインポート/エクスポートを行う必要があることも意味します。