我在C ++ Qt应用程序的某些对话框中禁用了关闭按钮。我根据事件是否是自发的进行过滤,这是有效的。然而,我的问题是关于如何对此功能进行单元测试。我想将自发事件和非自发事件发送到我的测试单元,看看它是否做出了相应的反应,但我没有找到以编程方式注入自发事件的方法。有谁知道如何做到这一点?或者你能在这种情况下推荐其他测试策略吗?
答案 0 :(得分:2)
您可以使用QCoreApplicationPrivate::setEventSpontaneous()。您需要包含私人qcoreapplication_p.h
标头,例如, here关于如何做到这一点。
或者,只要您使用小部件,就使用以下内容,因为这是Qt5Widgets库的一部分:
extern bool qt_sendSpontaneousEvent(QObject*, QEvent*);