9

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++ プロジェクトや、上記の方法で分離されたコード例をお勧めしてもらえますか?)

4

1 に答える 1

3

考えられるアプローチの1つは、TextTestRunnerではなくを使用することですGUITestRunner。私は実際にこれを試したことがTextTestRunnerありませんが、VCLユニットを使用しないことは非常に妥当であると思います。少なくとも、使用するものは簡単に削除できます。実際、ソースコードをすばやくスキャンすると、これが機能することがわかります。

于 2012-03-02T13:32:00.050 に答える