2009-09-04 20 views
0

我正在嘗試使用QTest向現有的QT GUI應用程序添加一些測試。 GUI使用了相當複雜的啓動代碼,所以我寧願不寫另一個main()來重新啓動它。我可以在qt事件窗口中插入一個測試嗎?

對我來說,似乎最簡單的方法是實例化應用程序,然後在其上運行測試。我只是不確定,但是我可以插入我的測試對象的功能,以便我不阻止消息流。

我可以發送一個特殊的消息來開始測試或設置一個計時器,但這很複雜,測試應該簡化一些事情。

那麼在現有的GUI中插入和qexec Qtest對象的最佳位置是什麼?

回答

1

我願意被證明是錯誤的,但一般的測試框架(以及我所使用的QTest)往往假設測試框架將驅動代碼進行測試,而不是沿着它的一側奔跑。

我也關心「GUI使用相當複雜的啓動代碼....」您是否打算測試啓動代碼?或者測試它周圍的其他東西?

一般來說,當我開始考慮嚮應用程序添加測試時,我會嘗試查找在很多應用程序中使用的較小碎片,併爲這些應用程序編寫測試。然後我開始測試整合那些較小的那些更大的部分。我的一般想法是,如果小塊工作正常,那麼要麼我正確地把它們放在一起,事情應該工作,要麼當我嘗試運行應用程序時,我沒有和事情顯然會失敗。

我應該提到,還有其他選項用於特別爲Qt應用程序測試GUI。它們往往更像是在程序中運行的腳本,並記錄輸出。如果你感興趣,那麼你可以看看Squish for Qt

+0

加上一個信息,我想你已經回答了,明天我會確認,但是你有沒有看到許可證,價格和條款爲Squish? - 哇! –

+0

@Joe,我實際上沒有看過Squish的價格或條款。我剛剛知道有些東西在那裏,之前看過一個鏈接,並發現它有一個合理的快速谷歌搜索。 –

+0

當然,只是單挑一些,這些漂亮的框架彈出一些「有趣」的術語,如1-2K歐元/頭/年。 –

相關問題