Qt ベースのアプリケーションで使用されるセマンティックの規約の一部には、単体テストを構築するかしないかを決定するものがあります。特に:

  1. 多くの Qt クラスはペアレント ポインターをコンストラクター パラメーターとして取る。 このパラメーターのために指定される基本型のサブクラスの中には、与えられた Qt クラスに対してセマンティックの面で有効ではないものもある。  
  2. Qt ペアレント オブジェクトは、メモリ管理を含め、そのチャイルドの所有権を得る。このことは、ペアレントが自分自身を削除するときにチャイルドも削除することを暗に示している。  

自動生成テスト ケースでは、次のことが暗示されます。

Qt ベースのクラスの単体テストでは、次の操作を推奨します。

  1. 単体テストを自動生成します。これはテンプレートになります。  
  2. 生成されたテストの 1 つをテンプレートとして保持します。できれば実行時にパスする ( 例外をスローしない) テストを選択します。  
  3. 1 つのテストをテンプレートとして使って、テスト オブジェクトのアロケーションをヒープ上のテスト オブジェクトの宣言で置き換えます。(new を使用します。)  
  4. テストの最後に、ペアレント オブジェクトが使用された場合、それがプライマリ テスト オブジェクトでもセカンダリ テスト オブジェクトでも、そのペアレント オブジェクトだけを削除します。  
  5. デバッガーを使って最後のテスト オブジェクトのステータスを観察し、適切なアサーション マクロを挿入してこのテストを検証します。  
  6. テスト ケースを追加します。 (GUI ダイアログ オプションを使用します。検証された最初のテスト ケースをテンプレートとして使用します。)