2016-04-29 9 views
7

मैं निम्नलिखित सेटअप:vstest.console.exe काम करता है, लेकिन नहीं एक अच्छा फ़ाइल नाम के साथ, CodeCoverage.exe किसी भी परिणाम नहीं देता है

set __vsTestConsoleExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe 
set __codeCoverageExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe 

set __testFile=My.UnitTests.dll 

REM Below I get a ".coverage" file with the correct coverage. But the file name is kinda-random 
"%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage 

PAUSE 

REM Below I get a big ole nothing 
"%__codeCoverageExe%" collect /output:DynamicCodeCoverage.coverage "%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage 
"%__codeCoverageExe%" analyze /output:DynamicCodeCoverage.coveragexml DynamicCodeCoverage.coverage 

जब नीचे लाइन चलाता है:

"%__vsTestConsoleExe%" "%__testFile%" /InIsolation /EnableCodeCoverage 

मैं एक अच्छा .coverage फ़ाइल मिलता है, लेकिन इसकी एक उत्पन्न फ़ाइल नाम की तरह:

MyUSERNAME_MYMACHINE 2016-03-24 16_03_20.coverage 

रोकें बयान के बाद लाइनों (पहले कोड ब्लॉक में) ऐसा लगता है कि उन्हें कवरेज एकत्र करना चाहिए (और ध्यान दें, मैं इसे वही दे रहा हूं ''% __ बनामस्ट कंसोलएक्स%% '' comamand ....... लेकिन मुझे इससे कुछ भी बड़ा नहीं मिलता है।

मैं क्या गलत कर रहा हूं?

उत्तर

0

मैं काम करने के लिए vstest.console.exe प्राप्त करने में कभी सक्षम नहीं था।

मैं "अनुमानित" फ़ाइल नाम प्राप्त करने में सक्षम था और MsTest.exe का उपयोग कर .coverage फ़ाइल में जानकारी प्राप्त करने में सक्षम था।

set __msTestExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe 
set __codeCoverageExe=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe 



REM the below calls will create the binary *.coverage files 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\AAA_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.One.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.One.trx" 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\BBB_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Two.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.Two.trx" 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\CCC_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Three.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.Three.trx" 

तुम भी एक कॉल

REM the below calls will create the binary *.coverage file 
"%__codeCoverageExe%" collect /output:"D:\BuildStuff\TestResults\ZZZ_DynamicCodeCoverage.coverage" "%__msTestExe%" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.One.dll" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Two.dll" /testcontainer:"D:\BuildStuff\BuildResults\My.UnitTests.Three.dll" /resultsfile:"D:\BuildStuff\TestResults\My.UnitTests.AllOfThem.trx" 

ZZZ_DynamicCodeCoverage.coverage "जाहिर" नाम, और .coverage फ़ाइल में वास्तविक मान हैं में 3 UnitTests.dlls जोड़ सकते हैं।

कोई विचार नहीं है कि codeCoverage.exe द्वारा बनाई गई .coverage फ़ाइल .. vstest.console.exe के साथ इसकी तर्क सूची में .... काम नहीं करता है। :( फिर से, बराबर काम नहीं करता है। '.coverage फ़ाइल बनाता है, लेकिन इसे खोलता है, इसमें इसकी कोई जानकारी नहीं है "

संबंधित मुद्दे

 संबंधित मुद्दे