我可以在qt事件窗口中插入测试吗?

时间:2009-09-04 00:57:35

标签: unit-testing user-interface qt

我正在尝试使用QTest向现有QT GUI应用程序添加一些测试。 GUI使用了相当多的复杂启动代码,所以我宁愿不写另一个main()来重新启动它。

对我而言,似乎最简单的方法是实例化应用程序然后对其运行测试。我只是不确定,但是我可以插入我的测试对象的功能,以便我不阻止消息流。

我可以发送一条特殊的消息来启动测试或设置一个计时器,但这很复杂,测试应该简化。

那么在现有GUI中插入和qexec Qtest对象的最佳位置是什么?

1 个答案:

答案 0 :(得分:1)

我愿意被证明是错误的,但是一般来说测试框架(以及QTest具体来自我使用过的)倾向于假设测试框架将驱动要测试的代码,而不是沿着它奔跑。

我也担心“GUI使用了相当多的复杂启动代码....”您是否打算测试启动代码?或测试周围的其他东西?

一般来说,当我开始考虑向应用程序添加测试时,我会尝试查找在很多应用程序中使用的较小的部分,并为这些部分编写测试。然后我构建了测试整合那些较小的那些的更大的部分。我的一般想法是,如果小块正常工作,那么要么我把它们正确地放在一起,事情应该可以工作,或者我没有,当我尝试运行应用程序时,事情显然会失败。

我应该提一下,还有其他选项可以测试Qt应用程序的GUI。它们往往更像是在程序上运行的脚本,并记录输出。如果您对此感兴趣,那么您可以查看Squish for Qt