pytest-פסק זמן הוא תוסף עבור py.test שיסתיים בדיקות לאחר פסק זמן מסוים & nbsp;. כאשר עושה זאת תקבל מזבלה ערימה של כל הנושאים שפועלים באותו הזמן. זה שימושי כאשר לדוגמה הרצת בדיקות תחת שרת אינטגרציה מתמשכת (CI).
שימוש
התקן באמצעות:
PIP להתקין pytest-פסק זמן
ולאחר מכן להפעיל את התוסף, או משורת הפקודה:
py.test -p פסק זמן
או בצורה נוחה יותר מבתוך מודול הבדיקה או conftest.py:
"הזמן המוקצב ל'= pytest_plugins
באפשרותך לשנות את פסק הזמן באמצעות פרמטר --timeout הקובע את פסק הזמן בשניות.
איך זה עובד
תוסף זה עובד באחת משתי דרכים. אם המערכת תומכת אות SIGALRM אזעקה תהיה מתוכננת כאשר מתחילה בדיקות ובוטלה כאשר יסיים. אם האזעקה תפוג במהלך בדיקת מטפל האות ישתמש pytest.fail () כדי להפסיק את הבדיקה לאחר שזרק את ערימת כל נושאים אחרים הפועלים לstderr.
אם המערכת אינה תומכת SIGALRM או אפשרות --nosigalrm שימשה אז חוט טיימר ישמש במקום. פעם נוספת, אם שעון זה לא בוטל לפני שהוא יפוג זה לזרוק את ערימת את כל הנושאים לstderr לפני סיום תהליך py.test כל שימוש os._exit (1).
החסרון של השיטה הוא שSIGALRM האות משמשת מסגרת הבדיקה. אם אות זו משמשת את הקוד הנבדק תצטרך להשתמש באפשרות --nosigalrm. ההגבלה של חוט טיימר עם זאת היא מעל נוסף של יצירת חוט עבור כל בדיקה שבוצעה ואת העובדה שאחרי פסק זמן אחד את התהליך כולו עצר ולא מבצע בדיקות נוספות שבוצעו.
מהו החדש במהדורה זו:.
- הוספה משתנה סביבת PYTEST_TIMEOUT כדרך המפרט את פסק הזמן (סוגר בעית מספר 2)
- ניתוח טיעון סמן גמיש יותר:. עכשיו אתה יכול לציין את השיטה באמצעות טיעון positional
- התוסף כעת מופעל כברירת מחדל. אין עוד צורך לציין timeout = 0 בקובץ התצורה או בשורת הפקודה פשוט כדי שסמן יעבוד.
מה חדש בגרסת 0.2:
- הוסף סמן כדי לשנות את עיכוב פסק הזמן באמצעותpytest .timeout תחביר (N), הודות לLaurant ראק לקוד הראשוני.
- אפשר סמן פסק הזמן כדי לבחור את שיטת פסק זמן שימוש בטענת מילת המפתח שיטה.
- שנה את שם אפשרות --nosigalrm ל--method = חוט לתמיכת הוכחה בעתיד לeventlet וgevent. תודה לרון Pfannschmidt ברמז.
- הוסף פריטי פסק זמן וtimeout_method לקובץ ההגדרות, כך שתוכל להפעיל ולהגדיר את התוסף באמצעות קובץ ini. תודה להולגר Krekel ורוני Pfannschmidt לרמזים.
- נבדק (וקבוע) לפיתון 2.6, 2.7 ו -3.2.
דרישות :
- Python
- py.test
תגובות לא נמצא