Qt,单元测试和模拟对象

gri*_*yvp 8 qt unit-testing mocking

Qt框架内部支持通过QtTest包进行测试.不幸的是,我没有在其中找到任何可以帮助创建模拟对象的工具.Qt信号和插槽提供了一种自然的方式来创建具有输入(插槽)和输出(信号)的单元测试友好单元.但是,测试对象中调用指定的插槽是否会导致使用正确的参数发出正确的信号?当然,我可以手动创建一个模拟对象并将它们连接到正在测试的对象,但它是很多代码.也许存在一些技术允许以某种方式自动化模拟对象创建,同时对基于Qt的应用程序进行单元测试?

cha*_*lup 7

看来你需要一个QSignalSpy.

  • 实际上它在QtTest库中,但不在QTest命名空间中. (2认同)