2016-01-14 36 views
0

我想要集成Opencover與TFS2013自定義代碼覆蓋率。我通過在構建過程模板中使用InvokeProcess活動調用OC來構建定義,並通過構建定義來傳遞運行Open Cover所需的參數。OpenCover-打開封面說遺漏的PDBs在vsfs.console.ex工作在tfs構建定義

我遵循 this blogherehere中提到的步驟。

通過最後OpenCover參數是

OpenCover.Console.exe -register:user -target:"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" -targetargs:"<build_definition_folder>\bin\NUnitTestDemo.dll <build_definition_folder>\bin\UnitTest.dll /Platform:X86 /Framework:Framework45 /Logger:trx " -targetdir:"<build_definition_folder>\bin" -mergebyhash -output:"<build_definition_folder>\bin\results.xml" 

輸出來作爲

總測試:2.通過:2.失敗:0跳過:0

試運行成功。

測試執行時間:0.6657秒

犯下......

沒有結果,這可能是多種原因。最常見的原因是:

1)缺少與過濾器匹配的程序集的PDB,請查看 輸出文件並參考有關過濾器的使用指南(Usage.rtf)。 2)探查器可能沒有正確註冊,請參考使用指南和-register開關 。

請幫幫我。 PDB只存在於同一個bin文件夾中。我試着用Open Cover UI在我的機器上本地運行打開封面,它給出了很好的結果。但是在控制檯應用程序中,它不像我在構建服務器中預期的那樣工作。

+0

你在使用powershell嗎? – iikkoo

+0

@iikkoo不,我正在使用批處理文件。這有什麼問題嗎? ? OC控制檯的參數在運行時使用stdouput獲得。我感覺所有參數都正確傳遞。仍然困惑爲什麼它不起作用 –

+0

嘗試並將引號放在targetargs上,例如:「-targetargs:」。 – iikkoo

回答

1

我之前遇到過這個問題,這是因爲我的構建服務正在運行「網絡服務」帳戶。在我將其更改爲使用管理員帳戶運行後,它可以正常工作,結果已成功生成。

我的修復程序: 停止構建服務並更改「屬性」中的設置以以管理員帳戶運行服務。然後啓動構建服務並排隊新構建。 enter image description here