我创建了一个Qt测试,它通过QProcess调用了另一个程序。在调用QProcess::start
方法之后,我的测试等待它使用QProcess::waitForFinished
方法完成。当我用QtCreator运行这个测试时,没有问题。但是当我使用CTest运行它时,QProcess::waitForFinished
函数总是返回false。有人能解释一下原因吗?非常感谢。
最后,我找到了一个解决方案:QProcess:start
方法找不到程序,因为我的Qt测试的工作目录不好。所以,我用QDir::setCurrent
改变了它,现在,它工作了。