Fixtures

نرم افزار تصویر:
Fixtures
جزئیات نرم افزار:
نسخه: 0.3.14
ها تاریخ: 14 Apr 15
توسعه دهنده: Robert Collins
پروانه: رایگان
محبوبیت: 17

Rating: 5.0/5 (Total Votes: 1)

.

لامپ ابزاری است که یک قرارداد پایتون تعریف می کند برای قابل استفاده مجدد منطق دولت / پشتیبانی، در درجه اول برای تست واحد را لمس کنید و است. یاور و منطق انطباق است شامل را به آن را آسان به ارسال لامپ خود را با استفاده از قرارداد لامپ. کد چسب ارائه شده است که باعث می شود با استفاده از لامپ که با قرارداد لامپ در unittest موارد آزمون سازگار آسان و مستقیم به جلو.
چرا لامپ
استاندارد پایتون unittest.py هیچ روش آشکار برای ساخت و استفاده مجدد از دولت مورد نیاز در مورد تست غیر از با اضافه کردن یک روش در کلاس آزمون فراهم می کند. این فلس ضعیف - توابع کمکی پیچیده propogating تا یک سلسله مراتب کلاس آزمون یک الگوی منظم است که این کار انجام شود. مسخره در حالی که یک ابزار عالی خودش این جلوگیری نمی (و یاران به مسخره چیز پیچیده می تواند در راه همان تجمع اگر در کلاس آزمون قرار داده).
با تعریف یک قرارداد یکنواخت که در آن یاران هیچ وابستگی به کلاس آزمون ما اجازه تمام فعالیت های بهداشت کد به طور منظم به محل بدون نفوذ تحریف بودن در یک سلسله مراتب طبقاتی است که مدل سازی یک چیز کاملا متفاوت - که چه یاران در TestCase رنج بردن از.
درباره لامپ
دستگاه نشان دهنده برخی از دولت است. هر دستگاه دارای ویژگی بر روی آن است که خاص به ثابت هستند. به عنوان مثال، ثابت به نمایندگی یک دایرکتوری است که می تواند برای فایل های موقت استفاده ممکن است یک ویژگی «مسیر» را داشته باشد.
ایجاد لامپ
کم، زیر کلاس دستگاه ها، تعریف SETUP را به مقداردهی اولیه دولت و برنامه پاکسازی برای زمانی که پاکسازی است که به نام و شما انجام می شود:
>>> واردات 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)
درست است

مورد نیاز:

پایتون

نرم افزار های مشابه

gator-tests
gator-tests

15 Apr 15

nose-json
nose-json

14 Apr 15

PyNuker
PyNuker

15 Apr 15

LAVA Server
LAVA Server

20 Feb 15

نرم افزار های دیگر از توسعه دهنده Robert Collins

نظرات به Fixtures

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!