我在嵌入式系統上有一個很老的C代碼的大代碼庫,很遺憾沒有自動化的測試用例/套件。這使得重構和重構代碼成爲一項危險的任務。C函數調用和參數跟蹤 - 測試用例和模擬生成
手動編寫測試用例非常耗時,所以我認爲應該可以通過跟蹤所有函數調用和記錄輸入和輸出值來自動執行此過程的至少一部分。然後,我可以在測試用例中使用這些值(除了某些函數,這不適用於所有測試)。根據收集的數據也可能創建模擬函數。
擁有這樣的測試用例會使重構成爲一個不太危險的活動。
有沒有解決方案已經可以做到這一點?如果我必須自己編寫代碼,那麼最簡單的方法是什麼?
我想過使用ctags
來查找函數定義,並將它們包裝在一個記錄參數值的函數中。另一種可能性可能是gcc編譯器插件。
你不覺得這個問題屬於superuser.com ...? – 2012-02-23 15:12:17
@ Mr.32:這是一個與編程高度相關的問題,所以它絕對屬於這裏。 – 2012-02-23 15:39:50