के साथ सोनारक्यूब टेस्ट कवरेज मैं SonarQube
एक साधारण डॉट नेट ऐप के साथ काम करने की कोशिश कर रहा हूं। मुझे कुछ सफलता मिल रही है और चल रही है लेकिन कोड कवरेज काम नहीं कर रहा है।एमएसटेस्ट
ऐसा लगता है कि जब SonarQube के माध्यम से इस तरह के रूप DotCover and OpenCover
Gallio
उदाहरण जो मैं का पालन किया है 'पर जाएँ' कवरेज उपकरण के कई के लिए बंद कर दिया गया समर्थन की तरह कई अन्य लोगों को इस मुद्दे का सामना करना पड़ा है:
मैं एक .coveragexml
में यह गुप्त करने के लिए एक .coverage
फ़ाइल
vstest.console.exe .\UnitTestProject1\bin\Debug\UnitTestProject1.dll /EnableCodeCoverage
और
CodeCoverage.exe collect /output:DynamicCodeCoverage.coverage .\UnitTestProject1\bin\Debug\UnitTestProject1.dll
उत्पन्न करने के लिए वी.एस. कमांड लाइन उपकरणों के कुछ करने की कोशिश की और कुछ कोड लिखा है पसंद here
से फ़ाइल प्राप्त करने के लिए निम्नलिखित प्राप्त करने के लिए एक्सएमएल:
<?xml version="1.0" standalone="yes"?>
<CoverageDSPriv>
<Module>
<ModuleName>unittestproject1.dll</ModuleName>
<ImageSize>32768</ImageSize>
<ImageLinkTime>0</ImageLinkTime>
<LinesCovered>12</LinesCovered>
<LinesPartiallyCovered>0</LinesPartiallyCovered>
<LinesNotCovered>0</LinesNotCovered>
<BlocksCovered>9</BlocksCovered>
<BlocksNotCovered>0</BlocksNotCovered>
<NamespaceTable>
<BlocksCovered>9</BlocksCovered>
<BlocksNotCovered>0</BlocksNotCovered>
<LinesCovered>12</LinesCovered>
<LinesNotCovered>0</LinesNotCovered>
और यहां तक कि अधिक इस्तेमाल किया XSLT स्टाइलशीट एक में प्रदान करते हैं कि SonarQube धावक
<?xml version="1.0" encoding="utf-8"?>
<results>
<modules>
<module name="unittestproject1.dll" path="unittestproject1.dll" block_coverage="100" line_coverage="100" blocks_covered="9" blocks_not_covered="0" lines_covered="12" lines_partially_covered="0" lines_not_covered="0">
<functions>
<function name="Setup" type_name="UnitTest1" block_coverage="100" line_coverage="100" blocks_covered="1" blocks_not_covered="0" lines_covered="2" lines_partially_covered="0" lines_not_covered="0">
<ranges>
<range source_id="1" covered="yes" start_line="13" start_column="9" end_line="13" end_column="10" />
<range source_id="1" covered="yes" start_line="15" start_column="9" end_line="15" end_column="10" />
</ranges>
</function>
द्वारा इस्तेमाल किया जा सकता है जब मैं सोनार
- MSBuild.SonarQube.Runner चलाते हैं। exe शुरू
- एमएसबील्ड
- एमएसबिल्ड। SonarQube.Runner.exe अंत
मैं द्वारा वजह तरह त्रुटियों मिलती है:
unknown XML Node
, अपेक्षा कवरेज लेकिन परिणाम
इसका कारण यह है अपने मेरी XML की सरंचना पसंद नहीं करता है, लेकिन मुझे यकीन नहीं है कि कवरेज फ़ाइल पर मुझे कितना काम करना है और इसे प्रारूप में बदलने के लिए मुझे कितना काम करना है कि सोनार को
उम्मीद है कि मैं गलत रास्ते पर जा रहा हूं और वहां मैं पर मेरे Sonar plugins
हैं
- C# बहुत ज्यादा काम के बिना सोनार में वी.एस. कवरेज या
coveragexml
फ़ाइलों को एकीकृत करने केअतिरिक्त सूचना = 4.1
- जेनेरिक कवरेज = 1 एक आसान तरीका है।1
त्वरित repsonse के लिए धन्यवाद! यह पूरी तरह से काम किया। मुझे CodeCoverage.exe का उपयोग करके आयात किया गया कोड कवरेज मिला। हम टीएफएस का उपयोग नहीं करते हैं (टीमसिटी हमारा मानक है) इसलिए मैंने उस विकल्प का पता नहीं लगाया। मैंने ओपनकॉवर या डॉटकॉवर सुझाए गए समाधान का प्रयास नहीं किया है, लेकिन करेंगे और रिपोर्ट करेंगे। – user3210699
@ user3210699 हाय, क्या आपने कभी भी ओपनकॉवर विकल्प एमएसटीएस्ट के साथ काम किया है? – Saan
हाय, मैंने केवल वीएसटीएस्ट के साथ ओपनकॉवर की कोशिश की है, लेकिन मैं उम्मीद करता हूं कि एमएसटीएस्ट इसी तरह से काम करे। आप पूर्ण निर्देशों के लिए http://docs.sonarqube.org/display/PLUG/C%23+Code+Coverage+Results+ आयात पर देख सकते हैं। –