我有一些代码使用 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++。