我是主要編寫在Qt中的大型(有點...)C++應用程序的一部分。 我想知道這是否正確/常用的方法: 每當我對某些/幾個源文件進行更改時,我會以調試模式編譯它(QtCreator),然後啓動並測試它。 問題是,每個編譯需要幾分鐘的時間(通常是1 - 3分鐘),我討厭這個,我想我在這裏做錯了什麼,也許編譯整個項目的每一個小變化都不是正確的道路去?C++和Qt應用程序的測試過程
感謝,
我是主要編寫在Qt中的大型(有點...)C++應用程序的一部分。 我想知道這是否正確/常用的方法: 每當我對某些/幾個源文件進行更改時,我會以調試模式編譯它(QtCreator),然後啓動並測試它。 問題是,每個編譯需要幾分鐘的時間(通常是1 - 3分鐘),我討厭這個,我想我在這裏做錯了什麼,也許編譯整個項目的每一個小變化都不是正確的道路去?C++和Qt應用程序的測試過程
感謝,
嘗試儘可能使用QTest進行單元測試,然後您可以先驗證部件,然後在完整的應用程序中對其進行一些測試。這樣可以節省大量時間,並且如果做得對,也可以幫助生成更健壯的代碼。
這確實需要某種模塊化的方法,所以代碼需要以某種方式進行分組。
最有可能的,你需要調整您的構建設置,以確保你正在做的最少重建或增量構建它只是編譯過更改並不會更新或重建任何不直接受這些文件變化。當你改變整個項目中包含的頭文件時,這仍然沒有幫助,但是這個項目不應該發生。
一般有幾種方法來測試,當您去,但這裏有兩個主要的事情,我會建議:
當然,編譯和運行它非常受歡迎,但效果不是很好,所以編碼方式總是像瘋狂的人一樣編碼,並且穿過手指。
您的項目中是否有多個SUBDIRS目標?如果答案是肯定的,你可以嘗試調整項目文件,首先從項目文件中刪除所有「排序」關鍵字,然後如果一個子目錄依賴於另一個,則將它們聲明爲依賴關係。最後,確保你傳遞了-jX值(也就是說,如果你的構建規則使用make),以便在編譯時使用所有的cpu核心。
中還回答:Qt automated testing
我連同我的團隊最近開發TUG,Qt的圖形用戶界面單元測試的開源框架。正在使用Qt測試。也許它可以幫助你。
視頻勝過千言萬語: https://www.youtube.com/watch?v=tUis6JrycrA
希望我們可以做的更好在一起。 Github回購:http://pedromateo.github.io/tug_qt_unit_testing_fw/
如果您使用的是g ++,爲什麼不使用'-c'選項來編譯部分文件? – Sadique 2011-03-29 19:25:10
@Acme QtCreator在兩階段編譯中使用mingw,他可能可以將它添加到項目設置的qmake步驟,雖然 – AJG85 2011-03-29 20:26:44