Fixtures

البرمجيات قطة:
Fixtures
تفاصيل البرنامج:
الإصدار: 0.3.14
تاريخ إيداع: 14 Apr 15
المطور: Robert Collins
ترخيص: حرر
شعبية: 75

Rating: 5.0/5 (Total Votes: 2)

ومصباح هو الأداة التي تحدد عقد بيثون لقابلة لإعادة الاستخدام منطق الدولة / الدعم، في المقام الأول عن وحدة اختبار على & nbsp؛. مساعد وشملت منطق التكيف لتجعل من السهل لكتابة التركيبات الخاصة بك باستخدام العقد ومواعيد المباريات. يتم الحصول على رمز الغراء الذي يجعل استخدام التركيبات التي تلبي العقد المباريات في unittest حالات الاختبار متوافقة سهلة ومباشرة إلى الأمام.
لماذا المباريات
يوفر معيار بيثون unittest.py لا توجد طريقة واضحة لجعل وإعادة استخدام حاجة إليها في حالة اختبار أخرى غير بإضافة أسلوب على فئة اختبار الدولة. هذه المقاييس سيئة - وظائف المساعد معقدة propogating يصل التسلسل الهرمي فئة اختبار هو نمط منتظم عندما يتم ذلك. ساخرا حين أداة عظيمة لا حد ذاته منع هذا (والمساعدين للسخرية الأمور المعقدة يمكن أن تتراكم في نفس الطريق إذا وضعت على الطبقة اختبار).
من خلال تحديد عقد موحد حيث يكون المساعدين لا الاعتماد على الطبقة اختبار نسمح جميع الأنشطة النظافة كود العادية لتتم من دون تأثير تشويه يجري في التسلسل الهرمي الفئة التي يتم النمذجة شيء مختلف تماما - وهو ما المساعدين على TestCase يعانون من.
حول المباريات
يمثل لاعبا اساسيا بعض الدولة. كل اعبا اساسيا له سمات عليه التي هي محددة لاعبا اساسيا. على سبيل المثال، لاعبا اساسيا يمثل الدليل الذي يمكن استخدامه للملفات المؤقتة قد يكون لها السمة 'المسار'.
خلق المباريات
الحد الأدنى، فئة فرعية لاعبا اساسيا، وتحديد برنامج الإعداد لتهيئة دولتكم وجدولة لتنظيف وعندما يتم استدعاء تنظيف والانتهاء من ذلك:
>>> unittest استيراد
>>> تركيبات استيراد
>>> NoddyFixture فئة (fixtures.Fixture):
... مواطنه الإعداد (النفس):
... السوبر (NoddyFixture، النفس) .setUp ()
... self.frobnozzle = 42
... self.addCleanup (delattr، النفس، "frobnozzle ')
هذا وسوف تهيئة frobnozzle عندما يتم استدعاء الإعداد، وعندما يتم استدعاء تنظيف تخلص من السمة frobnozzle.
هناك المساعد للتكيف وظيفة أو وظيفة الزوج إلى المباريات. أنه يضع نتيجة الدالة في fn_result:
>>> os.path استيراد
>>> shutil استيراد
>>> tempfile استيراد
>>> setup_function مواطنه ():
... العودة tempfile.mkdtemp ()
>>> مواطنه teardown_function (اعبا اساسيا):
... shutil.rmtree (اعبا اساسيا)
>>> اعبا اساسيا = fixtures.FunctionFixture (setup_function، teardown_function)
>>> fixture.setUp ()
>>> os.path.isdir الطباعة (fixture.fn_result)
صحيح
>>> fixture.cleanUp ()
وAPI لاعبا اساسيا
المثال أعلاه يقدم بعض API لاعبا اساسيا. من أجل أن تكون قادرة على تنظيف بعد أن تم استخدامها لاعبا اساسيا، جميع المباريات تحدد طريقة تنظيف والتي ينبغي أن يتم استدعاؤها عند الانتهاء لاعبا اساسيا مع.
لأنه لطيف لتكون قادرة على بناء مجموعة معينة من التركيبات ذات الصلة في وقت مبكر من استخدامها، ويكون المباريات أيضا تحديد طريقة الإعداد التي ينبغي أن تسمى قبل محاولة استخدامها.
واحدة رغبة مشتركة مع التجهيزات التي هي مكلفة لخلق هو لإعادة استخدامها في العديد من حالات الاختبار. لدعم هذا يحدد لاعبا اساسيا قاعدة أيضا إعادة تعيين الذي يدعو self.cleanUp ()؛ self.setUp (). التركيبات التي يمكن أن تجعل أكثر كفاءة أنفسهم قابلة لإعادة الاستخدام يجب تجاوز هذا الأسلوب. هذا ويمكن بعد ذلك أن تستخدم مع دولة متعددة اختبار عن طريق أشياء مثل testresources، setUpClass، أو setUpModule.
عند استخدام لاعبا اساسيا مع اختبار يمكنك استدعاء الأساليب إعداد وتنظيف يدويا. أكثر ملاءمة على الرغم من أن استخدام الغراء المضمنة من fixtures.TestWithFixtures الذي يوفر mixin تحديد useFixture (حالة والجمال لunittest هو الحال في جميع أنحاء الإبل) الأسلوب. فإنه سيتم استدعاء الإعداد على المباراة، والدعوة self.addCleanup (اعبا اساسيا) لجدولة تنظيف، والعودة لاعبا اساسيا. وهذا يتيح احدة الكتابة:
>>> testtools استيراد
>>> unittest استيراد
علما بأن نستخدم testtools TestCase هنا كما نحن بحاجة لضمان طريقة TestCase.addCleanup.
على & nbsp؛ >>> الطبقة NoddyTest (testtools.TestCase، fixtures.TestWithFixtures):
على & nbsp؛ ... مواطنه test_example (النفس):
على & nbsp؛ ... اعبا اساسيا = self.useFixture (NoddyFixture ())
على & nbsp؛ ... self.assertEqual (42، fixture.frobnozzle)
على & nbsp؛ >>> النتيجة = unittest.TestResult ()
على & nbsp؛. >>> _ = NoddyTest ('test_example') تشغيل (نتيجة)
على & nbsp؛ >>> طباعة result.wasSuccessful ()
على & nbsp؛ صحيح
تركيبات تنفيذ البروتوكول السياق، بحيث يمكنك أيضا استخدام لاعبا اساسيا كمدير السياق:
>>> مع fixtures.FunctionFixture (setup_function، teardown_function) كما اعبا اساسيا:
... os.path.isdir الطباعة (fixture.fn_result)
حقيقية

المتطلبات:

بيثون

برامج مماثلة

nose-parameterized
nose-parameterized

14 Apr 15

Expect-lite
Expect-lite

19 Feb 15

pytest-marks
pytest-marks

15 Apr 15

البرامج الأخرى من المطور Robert Collins

zope_fixtures
zope_fixtures

20 Feb 15

testrepository
testrepository

20 Feb 15

anonymiseip
anonymiseip

20 Feb 15

تعليقات ل Fixtures

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!