我正在尝试使用Qt测试框架验证状态机的行为。但是我不明白我应该如何测试Qt SCXML实现。当然有QSignalSpy
,但那只限于不需要运行事件循环的信号/槽。我想要做的是:
myStateMachine.submitEvent("MyEvent");
// Run event loop
// Check result
我尝试过使用QCoreApplication::processEvents()
,有时可以正常工作,但有时在调用processEvents()
时会被卡住。我猜可能是触发了一个无限循环。我通过谷歌搜索没有找到答案,但一定有正确的方法。