8

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

कोड जलवायु प्रलेखन: Setting Up Test Coverage, Readme: codeclimate-test-reporter

ट्रैविस सीआई प्रलेखन: Using Code Climate with Travis CI

मैं इस सवाल का जवाब में वर्णित के रूप ट्रैविस सीआई में CODECLIMATE_REPO_TOKEN निर्धारित किया है: https://stackoverflow.com/a/31281481/1754089

मेरे। travis.yml फ़ाइल:

language: python 
python: 
    - 2.7 
install: 
    - pip install -r requirements.txt 
    - pip install coverage 
    - pip install codeclimate-test-reporter 
#commands to run tests: 
script: 
    - python mytests.py 
    - coverage run mytests.py 
after_success: 
    - codeclimate-test-reporter 

रूप after_success लाइन ट्रैविस में excecuted है यह मुझे इस में लॉग-दृश्य देता है:

/home/travis/build.sh: line 45: codeclimate-test_reporter: command not found 
+1

आपके त्रुटि संदेश के अनुसार, आपके पास अपनी स्क्रिप्ट में एक टाइपो है। 'Codeclimate-test_reporter' में अंडरस्कोर नोट करें। –

उत्तर

4
तो वास्तव में

यह अपने अंत में यह एक प्रकार का केवल एक मुद्दा है पीटर ने एक टिप्पणी में उल्लेख किया तरह दिखता है। आपके after_success में codeclimate-test-reporter होना चाहिए - ऐसा लगता है कि आपके पास यह है, लेकिन ट्रैविस कुछ और रिपोर्ट कर रहा है।

अब मैंने एक उपहार क्यों खोला और वास्तव में यह क्यों नहीं समझ रहा कि codeclimate_test_reporter कैसे काम करता है। मैं py.test से अपने कवरेज की रिपोर्ट करना चाहता था। codeclimate_test_reporter के पास how to create a coverage report दिखाते हुए गिटहब पर एक सुंदर रीडेम है। हालांकि उनके उदाहरण से, यह कोडक्लिम-टेस्ट-रिपोर्टर को एक तर्क के रूप में प्रदान करने जैसा लगता है --cov स्वचालित रूप से कोडक्लिमेट को एक रिपोर्ट भेज देगा। उस मामले

py.test का उपयोग नहीं है, आप क्या करना चाहते हैं:

script: 
- py.test --cov=YourModuleYouWantToCover test_folder 
- codeclimate-test-reporter --file .coverage 

जादू हुआ, पहली बार के लिए, मैं codeclimate पर एक कवरेज रिपोर्ट है!

संपादित करें: मैंने कोडमेमेट-टेस्ट-रिपोर्टर को अपने रीडमे को अपडेट करने के लिए एक पुल अनुरोध सबमिट किया है और इसे विलय कर दिया गया है, इसलिए उम्मीद है कि भविष्य के लोगों के लिए कम भ्रम!

+1

आपके समय और efford के लिए धन्यवाद! –

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