سؤال

أنا أستخدم حاليا ركوف للحصول على تحليل تغطية كود C0 لمشروع Rails الذي أعمل عليه.

ومع ذلك، فإن هذه النتائج لا معنى لها عمليًا - لدي تغطية بنسبة 100% وفقًا لـ rcov (لأنها تغطي تحليل C0 فقط) وبالكاد كتبت نصف حالات الاختبار للوظيفة الموجودة حتى الآن.

لقد اعتدت على النتائج المفيدة من تغطية التعليمات البرمجية في فريق Visual Studio 2008، الذي يحتوي على تغطية C1.هل هناك أي أدوات توفر تغطية مماثلة لروبي؟

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

المحلول

في هذه اللحظة، لا توجد أدوات التغطية C1 لروبي. في الواقع، لا يوجد أي أدوات تغطية أخرى من RCov.

وحتى وقت قريب، كان من الممكن فقط لكتابة أدوات مثل ذلك عن طريق ترميم أو توسيع مترجم MRI في C. منذ منذ ما يقرب من عامين، فمن الممكن أيضا لتوسيع JRuby في جاوة، وهناك في الواقع منذ الشهر الماضي ميناء من RCov لJRuby. ومع ذلك، وهذا يتطلب على حد سواء معرفة روبي <م> و C، ومعرفة عميقة جدا في ذلك، لأنه تافه حولها مع الأجزاء الداخلية من التصوير بالرنين المغناطيسي ليست لضعاف في القلب.

ولكن فقط مع Rubinius سيكون من الممكن لكتابة أدوات تحليل ديناميكية مثل أدوات مدونة التغطية في روبي نفسها، مما يجعل أداة الكتابة الوصول إلى جزء أكبر من المجتمع روبي. أملي هو أن هذا، إلى جانب دعم مالي كبير من الباعة أداة (العديد من البائعين IDE الرئيسية إما تعمل أو أدخلت بالفعل روبي بيئات التطوير، بما في ذلك CodeGear (السابق بورلاند)، IntelliJ لل، نتبيانس، الكسوف، SapphireSteel (روبي في صلب لبرنامج Visual Studio)، وحتى مايكروسوفت) من شأنها أن تؤدي إلى الابتكار السريع في الفضاء الأدوات روبي في عام 2009 وسوف نرى أشياء مثل C1، C2 تغطية، NPath التعقيد، والتنميط أكثر من ذلك بكثير غرامة الحبيبات وهلم جرا.

وحتى ذلك الحين، والفكرة الوحيدة لدي هي استخدام أدوات جافا. الرجال JRuby محاولة لتنبعث منها الفوقية السحر المناسب لجعل بايت كود بهم ولدت على الأقل اختراقها من قبل أدوات جافا. لذلك، ربما كان من الممكن استخدام أدوات التغطية جافا مع JRuby. ومع ذلك، ليس لدي أي فكرة عما إذا أن يعمل فعلا، ولا إذا كان من المفترض أن تعمل.

نصائح أخرى

DeepCover هو أداة كاملة C1 روبي التغطية الوحيدة الموجودة اليوم.

الإفصاح : أنا شاركت في تأليف DeepCover

لا أعرف شيئًا عن أدوات تغطية التعليمات البرمجية، لكن لدى روبي أداة اختبار للطفرة تسمى "هيكل".

يتضمن اختبار الطفرة تغيير الكود الذي يتم اختباره ومعرفة ما إذا كانت هذه الطفرات تتسبب في فشل اختبارات الوحدة.

لسوء الحظ، تحتوي أحدث جوهرة رسمية (الإصدار 1.4.1) على بعض الأخطاء، لذا قد ترغب في إنشاء جوهرة باستخدام تعليمات برمجية من فرع التطوير.يمكنه فقط تغيير طرق المثيل.لست متأكدًا من مدى موثوقية إصدار فرع التطوير أيضًا.

يجب تجنب اختبار الطفرات إذا كان الكود الذي يتم اختباره قد يؤدي إلى تدمير النظام (على سبيل المثال، حذف الملفات).قد ترغب في القراءة أسئلة وأجوبة حول Heckle و سؤال شائع يذكر rcov مقابل heckle.

لسجل، نتبيانس 7.0 لديها تحليل تغطية رمز لروبي مدمج. لا أستطيع العثور على أي مستندات تشرح ما اذا كان C0 أو C1 أو لا، ولكن هذا شيء لإبقاء العين على.

وآخر قديم، لكنني واجهت ذلك تبحث عن أدوات تغطية روبي. لمعلوماتك ركضت إلى أداة تغطية C1 لروبي دعا single_cov . لا أعرف كيف هو جيد، ولكن سوف أعطيها لتجربة تشغيل واحد من هذه الأيام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top