2014-10-30 155 views
0

我試圖執行OpenCover以獲取與TFS構建集成的代碼覆蓋率結果。這個結果被髮送到SonarQube(通過sonar-runner,作爲一個活動包含在構建模板中)。我在兩臺服務器中都有兩臺TFS服務器,一臺控制器和幾個代理。我們在代理中使用標籤,因此.Net構建可以在具有匹配標籤的任何代理中執行。Test Runner Bin在TFS上執行cmd的路徑(Opencover)

爲了集成OpenCover,我在一個項目中創建了一個cmd文件並添加到源代碼控制中。詳細信息在https://stackoverflow.com/a/26651450/1764875

但是在TFS服務器中,MSTest的路徑並不相同,我不想添加一些邏輯來根據構建服務器來選擇路徑。

而且其他.Net項目正在使用其他測試運行程序(XUnit,NUnit),這些測試運行程序已集成到項目中並在該TFS服務器中運行正常。

要運行OpenCover,我需要正確的Test Runner Binary的路徑。我的問題是:

- 有沒有什麼辦法可以在構建時間得到這個路徑(在構建定義,例如使用一些變量)?

任何意見將受到歡迎!

在此先感謝。

回答

0

不幸的是,目前尚不可能。目前有一個強有力的要求,就是在生成要重用的報告的同一地點運行SonarQube分析。

歡迎來到用戶郵件列表中討論這個問題並分享您的用戶體驗,這可能會在SonarQube方面觸發一些操作。

+0

Fabrice,感謝您的反饋!但是......我不確定我是否理解你......我關心的是如何生成關於TFS的OpenCover報告。這與這有什麼關係? – 2014-10-31 15:39:10

+0

何,對不起,我太快讀了這個問題。但是這與SonarQube無關,對吧? – 2014-10-31 16:34:20

+0

嗯......最終目的是在sonarqube中提供代碼覆蓋信息。但首先,在描述的場景中,它必須在基於TFS的自動構建中生成。如果有一種方法可以在沒有第三方工具(報告)的情況下直接在聲納上獲得代碼覆蓋率,那將非常棒!無論如何,將報告發送到sonarqube當前不是問題,除非報告沒有生成並且聲納跑步者因爲找不到而失敗...... – 2014-11-02 19:42:07