我正在尝试使用QTestLib为GUI应用程序编写单元测试。问题是其中一个插槽使用exec()创建了一个文件对话框,我发现没有可能与对话框进行交互。
创建对话框的插槽连接到QAction。所以第一个问题是当我在测试中触发QAction时测试阻塞,因为这会导致调用exec()。
这是我的代码片段
QActoin* currentActoin;
if(currentAction->text() == action)
{
currentAction->trigger();
..........
}
这里一旦我触发了动作,它就会打开文件对话框,需要手动干预才能返回程序。如何在没有人工干预的情况下回来测试代码?即如何获得文件对话框的处理程序(指针)?如何设置文件对话框的值?