QTestLib を使用して GUI アプリケーションの単体テストを作成しようとしています。問題は、スロットの 1 つが exec() を使用してファイル ダイアログを作成し、ダイアログと対話する可能性がないことです。
ダイアログを作成するスロットは QAction に接続されています。したがって、最初の問題は、テストで QAction をトリガーするとテストがブロックされることです。これにより、exec() が呼び出されるためです。
ここに私のコードスニップがあります
QActoin* currentActoin;
if(currentAction->text() == action)
{
currentAction->trigger();
..........
}
ここでアクションをトリガーすると、プログラムに戻るために手動で介入する必要があるファイルダイアログが開きます。手動で介入せずにコードをテストするにはどうすればよいですか? つまり、ファイル ダイアログへのハンドラ (ポインタ) を取得するにはどうすればよいですか? ファイルダイアログの値を設定するにはどうすればよいですか?