سؤال

ويتم تكوين بناء بيئة بلدي لتجميع وإدارة وإنشاء ملف التغطية على سطر الأوامر (باستخدام نيد باتشلدر أداة coverage.py).

وأنا باستخدام الكسوف مع بيديف كما بلدي المحرر، ولكن لأسباب عملية، فإنه من غير الممكن / مريحة بالنسبة لي لتحويل بلدي بناء بيئة كاملة لالكسوف (وبالتالي توليد البيانات تغطية مباشرة من IDE، كما أنها مصممة ل تفعل)

وبيديف يبدو أن استخدام نفس الأداة التغطية (أو شيء مشابه جدا لذلك) لتوليد المعلومات تغطيتها، لذلك أنا التخمين هناك يجب أن يكون وسيلة للدمج ملفاتي التغطية الخارجية في الكسوف / بيديف.

وأي فكرة عن كيفية القيام بذلك؟

هل كانت مفيدة؟

المحلول

وأنا في حاجة بالضبط شيئا من هذا القبيل منذ بعض الوقت، عندما بيديف لا تزال تستخدم نسخة قديمة من coverage.py من واحد يمكن الوصول إليها من الصفحة الخالق البرنامج النصي.

ما فعلته كان الكشف حيث تم حفظ الملف بيديف .coverage له. بالنسبة لي كان:

 C:\Users\Admin\workspace\.metadata\.plugins\org.python.pydev.debug\.coverage

وبعد ذلك I يدويا ركض نسخة جديدة من coverage.py من برنامج نصي منفصل وقال لإنقاذ ملف .coverage في المكان الذي يوفر بيديف لها. لا أستطيع أن أتذكر إذا كان هناك وسيطة سطر الأوامر لcoverage.py أو إذا كنت ببساطة نسخ الملف .coverage مع السيناريو، ولكن بعد ذلك، إذا كنت ببساطة فتح على رمز التغطية مشاهدة نتائج وانقر على تحديث المعلومات التغطية! ، أو سوف بيديف معالجة البيانات بشكل جيد كما لو أنها ولدت في الملف نفسه.

نصائح أخرى

وأنا لا أعرف أي شيء عن التكامل بيديف من coverage.py (أو إذا كان يستخدم حتى coverage.py)، ولكن الملفات .coverage هي بسيطة جدا. هم القواميس marhsal'ed.

وأنا لم تختبر هذا الرمز، ولكن يمكنك أن تجرب هذا الجمع بين ملفين .coverage في واحد:

import marshal
c1_dict = marshal.load(open(file_name_1, 'rb'))
c2_dict = marshal.load(open(file_name_2, 'rb'))
c1_dict.update(c2_dict)
marshal.dump(c1_dict, open(file_name_out, 'wb'))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top