WinAPI を使用して、ウィンドウのタイトルとクラス名をハンドルから取得するコードがいくつかありGetWindowTextW
ますGetClassNameW
。Qt を使用してこのコードの単体テストを作成し、一時ウィンドウを作成してコードを実行し、ウィンドウを閉じたいと思います。ただし、これを簡単な方法で行う方法がわかりません。たとえば、次のようにウィンドウを作成できます。
#include "QtWidgets\qapplication.h"
#include "QtWidgets\qtextedit.h"
int argc = 1;
char* argv[1];
QApplication app(argc, &argv[0]);
QTextEdit textEdit;
textEdit.show();
app.exec(;)
// Rest of my unit test here
ただし、その時点で QApplication オブジェクトはイベント ループに入り、ウィンドウを閉じるまで単体テストの制御を引き継ぎます。単体テストをウィンドウで引き続き実行できるようにする最善の方法は何ですか? ウィンドウ用に別のスレッドを作成する必要がありますか? 単体テストなので、できるだけシンプルに保ちたいと思います。
この質問は単体テスト フレームワークに依存しないことを意図していますが、問題が発生した場合に備えて、UnitTest++ を使用しています。