Firemonkey アプリ (C++) の単体テストに、RAD Studio XE2 に付属の DUnit を使用しようとしています。
問題は、DUnit が VCL プロジェクトであるため、テスト プロジェクトに Firemonkey ユニット フォーム (例: UfrmMain.h) を含めることができないことです。
Visual を Logic (MultiTier/MVC) で分離しても、Firemonkey ライブラリをクラスに含めることはできません (TConnection 型のオブジェクトを持つ "CustomDatabase" クラスがあり、それのみが利用可能である場合、これが役立つ場合があります)。 Firemonkeyの場合 - もちろん単なる例です)。
firemonkey コードを完全に分離してフォームに残し、論理/データを純粋な C++ コードのクラスに保持すると、テストが可能になります。
では、この「ハンディキャップ」は実際には良いことなのでしょうか? MultiTier/MVC を使用するよう強制されますか? (C++ でのこれは私にとって初めてのことです) または、フォームもテストできる単体テストの代替手段を探す必要がありますか?
(また、github の C++ プロジェクトや、上記の方法で分離されたコード例をお勧めしてもらえますか?)