[英]Getting DUnit Test Coverage stats using FinalBuilder and AQTime
我們有一個龐大的Delphi項目(150萬行代碼),我們正在轉向使用敏捷流程。
我們已經有了一個連續的集成環境(FinalBuilder),我已將其更新為包含單元測試(dUnit)和代碼指標(CodeHealer)的電子郵件給我們開發團隊中的每個人。 我們的單元測試覆蓋率並不高,所以我現在正試圖將AQtime納入混合,以便在每次構建時獲得一些測試覆蓋率結果。
我正在使用“執行程序”任務來運行單元測試可執行文件,記錄結果並隨后解析文件。 我打算使用“運行腳本”任務來運行AQtime(通過COM)並將結果導出到XML,以便我可以解析這些結果。
我遇到的問題是AQtime運行單元測試可執行文件,我失去了直接監視單元測試可執行文件的能力。 我想讓FinalBuilder解析兩個任務的結果。 有沒有人知道如何從AQtime調用dUnit結果?
我們跑了同樣的路徑,我們不從AQTime運行DUnit測試,
相反,我們使用FinalBuilder構建並運行我們的Dunit測試。
我們的單元測試使用XmlTestRunner,然后我們可以在生成的XML文件上使用XPath查詢非常容易地知道測試是否失敗。
更新: FinalBuilder 7.0的最新更新現在支持DUnit。 它是通過自己的XMLTestrunner.pas,安裝后在FinalBuilder目錄下。 該跑步者以與NUnit相同的格式輸出測試結果。 然后它很好地集成到FinalBuilder服務器中。
您有點描述我們正在慢慢發展的設置。
一個解決方案可能是讓AQTime配置這些控制台應用程序,同時仍然能夠將結果傳遞給一個可以在之后解析的文件?!
另一種解決方案可能是實現您自己的TestListener對象,並讓該對象將測試結果寫入事件日志,直接寫入日志文件,數據庫或您喜歡的任何地方,並由FinalBuilder接收。
而不是在項目文件中有這樣的東西
Application.Initialize;
if System.IsConsole then TextTestRunner.RunRegisteredTests
else GUITestRunner.RunRegisteredTests;
它會變成這樣的東西
Application.Initialize;
if System.IsConsole then OurEventLogTestRunner.RunRegisteredTests
else GUITestRunner.RunRegisteredTests;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.