0
當我嘗試通過OpenCover運行VS10測試套件時,使用mstest作爲我的目標應用程序時出現問題。在OpenCover下運行mstest時,我得到一個有關.vsmdi.trx文件的錯誤
"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe" /resultsfile:"<application_root_path>\UnitTestResults\MyProject.vsmdi.trx" /testmetadata:"MyProject.vsmdi" /testlist:"ServiceTests" /testlist:"DatabaseTests"
但是,試圖運行OpenCover下相同的命令,像這樣的時候:
OpenCover\Opencover.console.exe -register:user -target:"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe" -targetargs:"/resultsfile:"<application_root_path>\UnitTestResults\MyProject.vsmdi.trx" /testmetadata:"MyProject.vsmdi" /testlist:"ServiceTests" /testlist:"DatabaseTests"" -output:<application_root_path>\UnitTestResults\Coverage
失敗,並出現以下錯誤,對於 直接與MSTest的運行測試與此命令工作該.vsmdi.trx文件(我推測應該MSTEST 後創建測試運行):
Error occurred while loading document '<application_root_path>\UnitTestResults\MyProject.vsmdi.trx'.
Code: 0x800c0006
The system cannot locate the object specified.
小號o基本上,它在運行測試之前抱怨它找不到結果文件,但該文件應該在運行結束時創建。
可能這是一個與OpenCover相關的問題,因爲當直接使用mstest運行時,相同的參數工作?
我檢查了我的路徑,他們都工作了,即使錯誤中的一個是mstest生成文件的路徑。
謝謝。
嗨Shaun,並感謝您的快速響應。轉義引號不起作用,因爲這是通過python腳本完成的,並且它們已經被正確放置(單打'''雙打)。更重要的是,我的問題是,如果有任何實例知道目標參數在通過OpenCover運行時可能以不同的方式使用(特別是對於目標mstest),那麼直接運行目標會比使用目標參數更爲有用。 – nestedloop
您的轉義可能在python中工作以打印報價,但它們是否在命令行上轉義,即您在命令行上實際執行了哪些操作?也許你需要\'「''這樣\」被打印出來是你放在命令行上的一部分還是一些混淆,所以我們不知道實際的路徑名?如果前者那麼你可能需要 –
我在我的問題中發佈的命令是到達命令行的命令,除了,它在此處作爲變量路徑的佔位符(其中不包含空格) ),因爲這發生在構建機器上 –
nestedloop