Fixtures

צילום מסך תוכנה:
Fixtures
פרטי תוכנה:
גרסה: 0.3.14
טען תאריך: 14 Apr 15
מפתחים: Robert Collins
רשיון: ללא תשלום
פופולריות: 17

Rating: 5.0/5 (Total Votes: 1)

גופי הוא כלי שמגדיר חוזה Python להיגיון מדינה / תמיכה לשימוש חוזר, בעיקר ליחידת בדיקות & nbsp;. Helper והיגיון adaption כלול כדי לעשות את זה קל לכתוב גופי באמצעות חוזה גופי משלך. קוד דבק ובלבד שעושה שימוש בגופים העומדים בחוזה גופי במקרי מבחן תואמים unittest קל וישר קדימה.
מדוע גופי
הסטנדרטי Python unittest.py מספק שום שיטה ברורה להכנת ושימוש חוזר במדינה דרושה במקרה מבחן שלא על ידי הוספת שיטה בכיתת המבחן. זה מאזניים גרועים - פונקציות עוזר מורכבות propogating את היררכיה בכיתה מבחן היא דפוס קבוע כאשר זה נעשה. לעג ואילו כלי נהדר לא את עצמו למנוע זאת (ועוזרים ללעוג דברים מורכבים יכול לצבור באותו אופן, אם מונח על מעמד המבחן).
על ידי הגדרת חוזה אחיד שבו יש לי עוזרים אין תלות במחלקת הבדיקה שנאפשר לכל פעילויות היגיינה קוד הרגילות להתקיים ללא השפעת העיוות של להיות בהיררכיה מעמדית הדוגמנות דבר שונה לחלוטין - וזה מה שעוזר בTestCase סובל מ.
אודות גופי
מחברים מייצגים כמה מדינה. לכל אבזר תכונות על זה שהם ספציפיים למתקן. לדוגמא, מתקן המייצג ספרייה שיכול לשמש לקבצים זמניים שאולי יש לה תכונה של "נתיב".
מכשירי תאורה יצירה
לכל הפחות, תת קבוע, להגדיר הגדרות כדי לאתחל המדינה שלך ואת לוח זמנים לניקוי כאשר ניקוי נקרא וסיימת:
>>> Unittest יבוא
>>> גופי יבוא
>>> NoddyFixture כיתה (fixtures.Fixture):
... Def התקנה (עצמי):
... סופר (NoddyFixture, עצמי) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, עצמי, 'frobnozzle')
זה יהיה לאתחל frobnozzle Setup כאשר נקרא, וכאשר הניקוי נקרא להיפטר מתכונת frobnozzle.
יש עוזר להתאמת זוג פונקציה או פונקציה לגופים. זה מכניס את התוצאה של הפונקציה בfn_result:
>>> Os.path יבוא
>>> Shutil יבוא
>>> Tempfile יבוא
>>> Setup_function def ():
... לחזור tempfile.mkdtemp ()
>>> Def 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; ... def 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)
נכון

דרישות :

  • Python

תוכנה דומה

Acovea
Acovea

3 Jun 15

STK/Unit
STK/Unit

20 Feb 15

pagerunit
pagerunit

11 May 15

תוכנות אחרות של יזם Robert Collins

תגובות ל Fixtures

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!