我正在寻找一种方法来改变(加速)单元测试的时钟,因此自动化测试不需要等待太长时间来发生与时间或定时器相关的事件。其他框架有时会提供例如“模拟时钟”,但我找不到与 QTest 框架类似的东西。目前,仅加速 QTimer/QSingleShotTimer 而不是整个应用程序的“事件流”也对我有用。
仅对于 QTimer,似乎可以模拟 QTimerEvents,将它们发送到特定的 QTimer 对象。但是捕获对 startTimer() 的初始调用似乎更复杂。QTimer 还为单次事件在内部创建 QSingleShotTimer 对象,并且还需要处理这些对象。因此,它对我来说看起来并不可行。
在这些方面,我将不胜感激任何提示或帮助。也许我使用了所有错误的搜索词,但在 Qt 文档或论坛(或任何网络搜索结果)中找不到与“操纵时间”相关的任何内容。提前非常感谢!