我想寫一個小的工具來支持代碼覆蓋範圍我們在我公司運行的測試。編寫一個工具來支持代碼覆蓋測試
這裏是我的工具要求 -
輸入 - 文件列表(的.cpp和.h),它已被修改(爲簽入的變更表的一部分)
輸出 - 在源中添加或修改的所有功能(作爲檢入更改的結果)。
任何想法我可以怎麼做呢?基本上,它歸結到什麼線改變的,什麼是與改線相關的功能...
更多信息 - 源控制:Perforce的 平臺:視窗
我想寫一個小的工具來支持代碼覆蓋範圍我們在我公司運行的測試。編寫一個工具來支持代碼覆蓋測試
這裏是我的工具要求 -
輸入 - 文件列表(的.cpp和.h),它已被修改(爲簽入的變更表的一部分)
輸出 - 在源中添加或修改的所有功能(作爲檢入更改的結果)。
任何想法我可以怎麼做呢?基本上,它歸結到什麼線改變的,什麼是與改線相關的功能...
更多信息 - 源控制:Perforce的 平臺:視窗
這聽起來很棘手。我不確定你會如何處理源代碼中已更改函數的信息。您不希望將代碼覆蓋範圍限制爲這些函數:可能是因爲更改後的函數會影響未更改函數的覆蓋範圍。
也許最好的辦法是簡單地在每次登記時運行所有測試,或者如果有任何更改,則每小時運行一次。那麼你可以跳過複雜的工具創建,並且無論如何都有更好的結果。
由於所有文件都被檢入到Perforce中,因此您可以使用以前的版本對已更改的文件執行批處理diff(p4 diff2)。 p4 diff2也採用分支規格,這可能是更方便的方法。
找到差異時,您需要編寫一個腳本來提取已更改行的方法名稱。該算法可能是「在文件中向後搜索,直到找到語法的方法簽名」。
要聰明,根據文件名或其他腳本生成的類的列表來確定類名。這個類名列表可以有助於確定方法簽名。如你所知,類名跟在::和方法名之後。
我認爲這個算法很容易使95 +%準確,並且很難使任意輸入100%準確。
此腳本應排除重複以生成唯一列表。
結果列表是您在問題中請求的列表。