py.test-2.7 - מקוון בענן

זוהי הפקודה py.test-2.7 שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


pytest - שימוש ב-pytest

יִעוּד PY.TEST דרך פייתון -M PY.TEST


חדש בגרסה 2.0.

אם אתה משתמש ב-Python-2.5 ואילך, אתה יכול להפעיל בדיקה דרך מתורגמן Python מ
שורת הפקודה:

python -m pytest [...]

זה שווה ערך להפעלת סקריפט שורת הפקודה py.test [...] באופן ישיר.

מקבל עזרה ON גִרְסָה, אוֹפְּצִיָה NAMES, הסביבה וריאציות


py.test --גרסה # מראה מהיכן יובא pytest
py.test --fixtures # מציגים ארגומנטים של פונקציה מובנים זמינים
py.test -h | --help # הצג עזרה בשורת הפקודה ואפשרויות קובץ התצורה

סְתִימָה לאחר LA ראשון (או N) כישלונות


כדי לעצור את תהליך הבדיקה לאחר הכשלים הראשונים (N):

py.test -x # עצירה לאחר הכישלון הראשון
py.test --maxfail=2 # עצירה לאחר שני כשלים

מפרט בדיקות / בחירה בדיקות


מספר אפשרויות להפעלת מבחן:

py.test test_mod.py # הפעל בדיקות במודול
py.test somepath # הפעל את כל הבדיקות מתחת ל- somepath
py.test -k stringexpr # הפעל רק בדיקות עם שמות התואמים את
# "ביטוי מחרוזת", למשל "MyClass ולא שיטה"
# יבחר TestMyClass.test_something
# אבל לא TestMyClass.test_method_simple
py.test test_mod.py::test_func # הפעל רק בדיקות התואמות את "מזהה הצומת",
# למשל "test_mod.py::test_func" יבחר
# רק test_func ב-test_mod.py
py.test test_mod.py::TestClass::test_method # הרץ שיטה בודדת ב
# כיתה בודדת

ייבא 'pkg' והשתמש במיקום מערכת הקבצים שלו כדי למצוא ולהריץ בדיקות:

py.test --pyargs pkg # הפעל את כל הבדיקות שנמצאו מתחת לספריית pypkg

שינוי פייתון להתחקות הַדפָּסָה


דוגמאות לשינוי הדפסת עקבות:

py.test --showlocals # הצג משתנים מקומיים במעקבים
py.test -l # הצג משתנים מקומיים (קיצור)

py.test --tb=long # ברירת המחדל של עיצוב העקיבה האינפורמטיבי
py.test --tb=native # עיצוב הספרייה הסטנדרטית של Python
py.test --tb=short # פורמט עקבות קצר יותר
py.test --tb=line # שורה אחת בלבד לכל כישלון

הַפָּלָה ל PDB (פִּיתוֹן מנפה) ON כישלונות


Python מגיע עם פייתון באגים מובנה בשם PDB. pytest מאפשרת להיכנס
מה היא PDB הנחיה דרך אפשרות שורת פקודה:

py.test --pdb

זה יפעיל את ניפוי הבאגים של Python בכל כשל. לעתים קרובות אתה יכול רק לעשות
זה למבחן הנכשל הראשון כדי להבין מצב כשל מסוים:

py.test -x --pdb # ירידה ל-PDB בכשל ראשון, ולאחר מכן סיום הפעלת הבדיקה
py.test --pdb --maxfail=3 # ירידה ל-PDB עבור שלושת הכשלים הראשונים

שים לב שבכל כשל המידע החריג נשמר sys.last_value,
sys.last_type ו sys.last_traceback. בשימוש אינטראקטיבי, זה מאפשר להיכנס
איתור באגים לאחר המוות עם כל כלי איתור באגים. אפשר גם לגשת ידנית לחריג
מידע, למשל:

>>> ייבוא ​​מערכת
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError('assert result == "בסדר"',)

הגדרה A נקודת שבירה / AKA SET_TRACE()


אם ברצונך להגדיר נקודת שבירה ולהזין את ה pdb.set_trace() אתה יכול להשתמש בעזר:

ייבוא ​​pytest
def test_function():
...
pytest.set_trace() # הפעל מאתר באגים ומעקב PDB

לפני גירסת pytest 2.0.0 יכולת להיכנס רק PDB מעקב אחר אם השבתת את הלכידה
בשורת הפקודה דרך py.test -s. בגרסאות מאוחרות יותר, pytest משבית אותה אוטומטית
לכידת פלט כשאתה נכנס PDB מַעֲקָב:

· לכידת פלט בבדיקות אחרות אינה מושפעת.

· כל פלט בדיקה קודם שכבר נקלט ויעובד ככזה.

· כל פלט מאוחר יותר שהופק באותה בדיקה לא ייקלט ובמקום זאת יקבל
נשלח ישירות אל sys.stdout. שים לב שזה נכון גם עבור פלט בדיקה שמתרחש
לאחר שתצא מהאינטראקטיבי PDB פגישת מעקב והמשך בבדיקה הרגילה
לָרוּץ.

מאז גירסת pytest 2.4.0 אתה יכול גם להשתמש ב-Python המקורי לייבא pdb;pdb.set_trace()
להתקשר להיכנס PDB מעקב ללא צורך להשתמש ב pytest.set_trace() עטיפה או
השבת במפורש את לכידת הפלט של pytest via py.test -s.

פרופילינג מבחן ביצוע מֶשֶׁך


כדי לקבל רשימה של 10 משכי המבחן האיטיים ביותר:

py.test --durations=10

יצירה JUNITXML פורמט קבצים


ליצירת קבצי תוצאות שניתן לקרוא על ידי הדסון או אינטגרציה מתמשכת אחרת
שרתים, השתמש בהזמנה זו:

py.test --junitxml=נתיב

כדי ליצור קובץ XML ב נתיב.

record_xml_property
חדש בגרסה 2.8.

אם ברצונך לרשום מידע נוסף לבדיקה, תוכל להשתמש ב- record_xml_property
מִתקָן:

def test_function(record_xml_property):
record_xml_property("example_key", 1)
לטעון 0

זה יוסיף נכס נוסף example_key="1" אל הנוצר מקרה מבחן תג:







אזהרה:
זוהי תכונה ניסיונית, והממשק שלה עשוי להיות מוחלף במשהו נוסף
חזק וכללי בגרסאות עתידיות. הפונקציונליות כשלעצמה תישמר,
למרות זאת.

כרגע זה לא עובד בשימוש עם pytest-xdist תוסף.

כמו כן, שים לב ששימוש בתכונה זו ישבור כל אימות סכימה. זֶה
עשויה להיות בעיה בשימוש עם שרתי CI מסוימים.

יצירה RESULTLOG פורמט קבצים


כדי ליצור קבצי תוצאות הניתנים לקריאה במכונה בטקסט רגיל, אתה יכול להוציא:

py.test --resultlog=path

ותסתכל על התוכן ב- נתיב מקום. קבצים כאלה משמשים למשל את PyPy-test
דף אינטרנט להצגת תוצאות בדיקה על פני מספר גרסאות.

שְׁלִיחָה מבחן דווח ל ONLINE PASTEBIN שֵׁרוּת


יוצרים a כתובת האתר ל כל אחד מבחן כישלון:

py.test --pastebin=כשל

פעולה זו תשלח מידע על ריצת ניסיון לשירות הדבק מרוחק ותספק כתובת URL לכל אחד מהם
כישלון. אתה יכול לבחור מבחנים כרגיל או להוסיף למשל -x אם אתה רוצה לשלוח רק אחד
כישלון מסוים.

יוצרים a כתובת האתר ל a כל מבחן מושב היכנס:

py.test --pastebin=all

כרגע מדביקים רק ל- http://bpaste.net השירות מיושם.

השבתה PLUGINS


כדי לנטרל טעינת תוספים ספציפיים בזמן הפניה, השתמש ב- -p אפשרות יחד עם
הקידומת לא:.

דוגמה: כדי לבטל את טעינת הפלאגין דוקטסט, אשר אחראי על ביצוע doctest
בדיקות מקובצי טקסט, הפעל את py.test כך:

py.test -p no:doctest

יִעוּד PY.TEST מן פייתון CODE


חדש בגרסה 2.0.

אתה יכול להפעיל pytest מקוד Python ישירות:

pytest.main()

זה מתנהג כאילו אתה קורא ל-"py.test" משורת הפקודה. זה לא יעלה
מערכת אקסיט אבל החזר את קוד היציאה במקום. אתה יכול להעביר אפשרויות וטיעונים:

pytest.main(['-x', 'mytestdir'])

או לעבור במחרוזת:

pytest.main("-x mytestdir")

אתה יכול לציין תוספים נוספים ל pytest.main:

# תוכן של myinvoke.py
ייבוא ​​pytest
class MyPlugin:
def pytest_sessionfinish(self):
print("*** ריצת מבחן דיווח על סיום")

pytest.main("-qq", plugins=[MyPlugin()])

הפעלתו תראה זאת MyPlugin התווסף והקרס שלו הופעל:

$ python myinvoke.py
*** סיום דיווח ריצת מבחן

השתמש ב-py.test-2.7 באינטרנט באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows