2017-01-31 19 views
8

में सुधार करें हम वर्तमान में ओपनकॉवर सत्र चला रहे हैं, जो nunit3.console.exe चला रहा है।स्पीड ओपनकॉवर

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2" 
exit 0 

हम उम्मीद कर रहे थे इस बीच में उपकरण की वजह से हमारे सामान्य इकाई परीक्षण की तुलना में धीमी होने के लिए है, लेकिन यह काफी नहीं:

हमारे कमांड लाइन पीछा कर रहा है।

कोड कवरेज के बिना, इकाई परीक्षण 1h की तरह कुछ लेते हैं। और वर्तमान में, कोड कवरेज के साथ, हमने पहले ही 3 दिन और 23 घंटे खर्च किए हैं, और हमें लगता है कि हमने केवल 10% कम किया है।

उन परिणामों को बाद में सोनारक्यूब में निर्यात किया जाना चाहिए।

क्या गति में सुधार करने के लिए हम कुछ कर सकते हैं (परीक्षण चलाने वाले कंप्यूटर को अपग्रेड करने के अलावा, जो शायद वैसे भी किया जाएगा)?

कम विस्तृत परिणाम होने की तरह ...? हम ज्यादातर कोड कवरेज से रुचि रखते हैं, अवधि और अन्य सामान हमारे लिए बहुत दिलचस्प नहीं है। या ओपनकॉवर की तुलना में किसी अन्य टूल का उपयोग करना।

मुझे नहीं पता कि यह मायने रखता है, लेकिन यह लाइन जेनकींस द्वारा निष्पादित की जाती है।

+0

60x का एक मंदी एकमुश्त हास्यास्पद है। लेकिन यह SO प्रतिक्रिया से पता चलता है कि यह ओपनकॉवर की एक संपत्ति है: http://stackoverflow.com/a/26225013/120163 धागे और कतारों का उपयोग करने के बारे में टिप्पणी बहुत आश्चर्यजनक है; वे उपकरण के रनटाइम कोर का हिस्सा हैं, तो वे उपयोग करने के लिए बहुत धीमी तंत्र हैं। मैं निष्पादन के लिए 15-20% अतिरिक्त ओवरहेड जोड़ने के लिए एक अच्छा परीक्षण कवरेज टूल की अपेक्षा करता हूं। । अर्थपूर्ण डिजाइन (मेरी कंपनी के) उपकरण में यह संपत्ति है। (जैव देखें)। –

उत्तर

2

कुछ चीजें मैं एक बहुत बड़ा सुधार नोटिस किया था की कोशिश कर रहा द्वारा:

मैं openCover यंत्रों की परीक्षण विधानसभाओं बाहर रखा गया है, और अब प्रदर्शन काफी अच्छा कर रहे हैं:

  • केवल UnitTests + SonarQube साथ 1h06

  • OpenCover + UnitTests साथ 1h38 + SonarQube

यह हमारे लिए काफी स्वीकार्य है।

तरह से, मैं फिल्टर कैसे किया द्वारा:

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -filter:"[*]* -[*.Test]*" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2" 
exit 0 
+0

ठीक है, मुझे यकीन नहीं है कि क्या गलत है, लेकिन अब एक ही कमांड लाइन हमेशा के लिए ले जाती है, शायद एक बार वीएम पर तथ्य के कारण मुझे अधिक संसाधन मिल गया। – J4N

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