我正在尝试使用 Qt 测试框架验证状态机的行为。我根本不明白我应该如何测试 Qt SCXML 实现。当然有QSignalSpy
,但这仅适用于不需要事件循环运行的信号/斜率。我本质上想要做的是:
myStateMachine.submitEvent("MyEvent");
// Run event loop
// Check result
我尝试QCoreApplication::processEvents()
这样做有时会奏效,但有时在调用时也会卡住processEvents()
。我想我可能会触发一个无限循环。谷歌搜索也没有帮助,但必须有办法正确地做到这一点。