2015-06-11 12 views
7

में मोचा परीक्षणों को दूर करें, मैं विजुअल स्टूडियो ऑनलाइन बिल्ड में मोचा यूनिट परीक्षणों को मारने के लिए दस्तावेज या ट्यूटोरियल ढूंढने के लिए नहीं कर सकता।विजुअल स्टूडियो टीम सर्विसेज बिल्ड

मेरे पास node.js ऐप है जो वीएसओ में बना रहा है और Azure पर तैनात किया जा रहा है। यह सब अद्भुत काम करता है। मुझे लगता है कि बिल्ड प्रक्रिया के माध्यम से spec फ़ाइलों को कैसे लात मारना है, यह समझ में नहीं आता है।

यह कैसे किया जाता है? क्या वहां कहीं भी दस्तावेज उपलब्ध हैं जो मुझे याद आ रही है।

+0

यह मोचा नहीं है लेकिन यहां कर्म के साथ एक उदाहरण है, इसलिए आपको इसे बंद करना चाहिए https://blogs.msdn.microsoft.com/premier_developer/2017/05/17/integrating-angular-4-unit-tests- साथ-विज़ुअल-स्टूडियो-टीम-सेवाएं-vsts/ –

उत्तर

0

यदि आपने पैकेज चलाने में सक्षम होने के लिए पैकेज.जेसन को कॉन्फ़िगर किया है, तो npm run test निष्पादित करने वाला एक एनपीएम चरण जोड़ना चाहिए। यदि आप परीक्षा परिणामों को प्रकाशित करना चाहते हैं तो आपको यह सुनिश्चित करने की ज़रूरत है कि मोचा विजुअल स्टूडियो टीम सेवाओं द्वारा समझा प्रारूप में अपने परिणाम लिख रहा है। JUnit format एक सुरक्षित शर्त होगी। फिर परीक्षा परिणाम अपलोड करने वाले एक प्रकाशित परीक्षा परिणाम चरण का पालन करें।

आप विजुअल स्टूडियो टेस्ट रनर का भी उपयोग कर सकते हैं, जो आपके परीक्षण चलाने के लिए चुट्ज़पा के साथ संयुक्त है, लेकिन मुझे लगता है कि यह सेटअप करने के लिए बहुत अधिक अतिरिक्त काम होने जा रहा है और इसमें ज्यादा कुछ नहीं जोड़ा जा रहा है।

+0

मुझे लगता है कि XUnit वीएसओ में अधिक समर्थित प्रारूप है, https://github.com/Microsoft/nodejstools/wiki/Test-Explorer#configuring-mocha-for-vs देखें । – Compulim

+1

मेरा बुरा। वीएसओ पर कोशिश की और कहा कि XUnit परीक्षण परिणाम एक्सएमएल सही प्रारूप में नहीं है। जुनीट अभी भी सबसे अच्छा विकल्प है। – Compulim

3

मान लें कि आपने अपने package.json के साथ मोचा परीक्षण स्थापित किए हैं, यानी आप npm test के साथ परीक्षण चलाते हैं। अधिक जानकारी के लिए, https://docs.npmjs.com/cli/test देखें।

अपने दृश्य स्टूडियो ऑनलाइन निर्माण/विज्ञप्ति में:

  • JUnit संवाददाता स्थापित करने के लिए
    • भागो कस्टम आदेश install mocha-junit-reporter
  • एक "NPM" कार्य जोड़ें एक "NPM" कार्य जोड़ें
    • कस्टम आदेश चलाएं test -- --reporter mocha-junit-reporter
    • सुझाव: आप
  • फिर --timeout 30000 जोड़कर टाइमआउट को बढ़ाने के लिए है, क्योंकि निर्माण एजेंट हो सकता है आपके देव बॉक्स की तुलना में धीमी चल चाहते हो सकता है, एक "प्रकाशित टेस्ट परिणाम" कार्य
    • सेट "टेस्ट परिणाम जोड़ने प्रारूप "टू" जुनीट "
    • " त्रुटि पर जारी रखें "पर बॉक्स को चेक करें
    • " नियंत्रण विकल्प ">" इस कार्य को चलाएं "के तहत, इसे सेट करें" यहां तक ​​कि यदि कोई पिछला कार्य विफल हो गया है, तब तक जब तक कि निर्माण रद्द नहीं किया गया हो "

एक बिल्ड कतार, आपको अपने वीएसओ बिल्ड में मोचा परीक्षण के परिणाम देखना चाहिए।

बोनस! आप Istanbul के साथ अपने मोचा रन में कोड कवरेज भी जोड़ सकते हैं।

ऊपर के चरणों के शीर्ष पर:

  • अपने package.json
    • भागो npm install istanbul --save-dev
  • को स्थानीय रूप से इस्तांबुल स्थापित package.json
      में अपनी स्क्रिप्ट को संशोधित करेंअद्यतन { "scripts": { "test": "istanbul test node_modules/mocha/bin/_mocha" } }
  • "NPM परीक्षण" कार्य
    • भागो कस्टम आदेश test -- --report cobertura --report html -- --reporter mocha-junit-reporter
  • एक "प्रकाशित कोड कवरेज परिणाम" कार्य
    • सेट "कोड कवरेज उपकरण जोड़े को संशोधित "से" कोबर्टुरा "
    • $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xmlपर" सारांश फ़ाइल "सेट करें
    • सेट "रिपोर्ट निर्देशिका" $(System.DefaultWorkingDirectory)/coverage/
    • को
    • के तहत "नियंत्रण विकल्प"> "इस कार्य को चलाने के लिए", "त्रुटि पर जारी रखें" यह स्थापित करने के लिए "यहां तक ​​कि अगर एक पिछले काम में नाकाम रही है, जब तक पर बॉक्स को चेक करें निर्माण रद्द कर दिया गया "
  • एक नए निर्माण चर NPM_CONFIG_COVERAGE जोड़ें और true

के लिए सेट अब आप अपने निर्माण रिपोर्ट में दोनों इकाई परीक्षण और कोड कवरेज परिणाम मिला है।

0

के बाद काफी नगण्य के आसपास मैं अपने निर्माण परिभाषा के लिए एक "कमांड लाइन कार्य" जोड़कर काम करने के लिए मिल गया का एक सा, मैं निम्नलिखित मानकों का प्रयोग किया:

  • टूल सेट node सेट तर्क को
  • $(Build.SourcesDirectory)\node_modules\jasmine-node\bin\jasmine-node --verbose test\

मेरे परीक्षण करने के लिए एक "परीक्षण" फ़ोल्डर के अंतर्गत कर रहे हैं, यह भी सुनिश्चित करें कि आप एक देव निर्भरता enter image description here

के रूप में चमेली नोड कर 0
संबंधित मुद्दे