سؤال

أحاول تسجيل كافة المخرجات من وحدة بايثون التي لدي في ملف XML.لقد قمت بإعداد setUp وteeDowns لحالة الاختبار والمصنفة والوحدة النمطية.تتم طباعة جميع المخرجات على وحدة التحكم، ومع ذلك لا يظهر سوى ملف testcase setUp وTearDown في ملف XML.

ركض الأمر:

nodetests -s ATestModule --with-xunit --xunit-file=a.xml

الإخراج لحالة اختبار معينة هو:

<testcase classname="ATestModule.FirstTestCase" name="testOne" time="0.553">    
    <system-out><![CDATA[2014-02-24 17:51:30,560 - INFO - TestData]]>
    </system-out>
</testcase>

لدي وحدات الإعداد والتفكيك المحددة على النحو التالي:

def setup_module():
  print(__name__ + "Setup module")

def teardown_module():
  print(__name__ + "Tear down module")

إستعملت http://pythontesting.net/framework/nose/nose-fixture-reference/ كمثال.

هذه لا تظهر في حالة الاختبار، وهو أمر مفهوم، ولكن ما زلت أتوقع ظهورها في مكان ما في ملف XML؟هل هناك إعداد أو عداء مختلف يناسب احتياجاتي بشكل أفضل؟

شكرًا!

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

المحلول

وهنا ما اكتشفته.بحسب ال توثيق, ، يجب تسمية الإعداد على مستوى الوحدة والتفكيك setUpModule و tearDownModule.لقد قمت بإجراء بعض الاختبارات وبالتأكيد، بينما يتم استدعاء وظائف التثبيت هذه، لا يتم تضمين مخرجاتها في ملف XML الناتج.

وبالمثل، التركيبات على مستوى الطبقة setUpClass و tearDownClass يتم الاتصال بك أيضًا، ولكن لا يظهر أي إخراج.ربما يكون ذلك حسب التصميم ولا أعرف كيفية إصلاحه.

تحديث

لقد بحثت في الكود المصدري لـ nose ومن المؤكد أنه لا يوجد إخراج XML للتركيبات.

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