
@Test. השיעור מראה איך משפיעים על הסדר, על ההפעלה ועל הקבוצות.@Test את המאפיין priority, והטסט עם המספר הנמוך רץ קודם. בדוגמה טסט 2 עם priority 2 רץ לפני טסט 1.enabled = false מדלג על טסט. בהרצה דרך ה-XML רצים רק הטסטים הפעילים.groups לטסט, למשל "Sanity", ואז בקובץ ה-XML מציינים רק את הקבוצה להרצה.הטקסט המלא של הדקות הראשונות בהרצאה «TestNG Annotations» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום, בסרטון הקודם יצרנו את הקלאס הראשון מסוג טסט NG. בסרטון הקרוב נמשיך ונעבוד עם הטסט NG ונראה את היכולות שלו. אמרנו שהטסט NG הוא בעצם דרך יעילה להריץ טסטים על המערכת המבדקת שלנו, על האתר שאותו אנחנו בודקים.
היום אנחנו נראה את היכולות או את השליטה שמאפשר לנו הטסט NG באנוטציה טסט בעצם במתודות שהן מתודות של טסט מבחינתנו.
אז בואו נראה איך השיטה הזאת עובדת של אנוטציה, אנחנו יכולים להשפיע על הפריוריטי ועל האופן שבו המתודה תרוץ או לא תרוץ, וזאת תהיה המטרה של הדמו שלנו, לראות איך אנחנו משנים את הפריוריטי של מתודה מסוג טסט בעזרת ה-TestNG.
בואו נראה למה אני מתכוון. אני עובר לסביבת העבודה שלי, ל-Eclipse. כאמור, יצרנו פרויקט מסוג Java, הוספנו לו את הספריות של הטסט-אנג'י ושל הסילניום, יצרנו פקקג' דמו אחד ויצרנו קלאס Java שהוא מסוג טסט-אנג'י.
אנחנו יכולים לראות בקלאס עצמו שיש לו אימפורט של כל מה שקשור לאנוטציות שאנחנו עושים בהם שימוש שהן בתוך ספריות הטסט-אנג'י. דיברנו על הסדר של העריצה, יש לנו את המתודות שבמקרה נקראות גם לפי האנוטציות שלהם אבל זה לא בהכרח חובה, שם את ה-Before Class, ה-Before Method,
את ה-Testים עצמם ו-After Method ו-After Class. בעצם ה-After Method יבוצע בין כל טסט וטסט, ה-After וה-Before Method, וה-Before Class וה-After Class יבוצע פעם אחת בתחילת ה-Class ואת ה-After Class פעם אחת בסוף ה-Class.
מה שרצינו לראות עכשיו זה את היכולת שלנו לעבוד עם ה-Property בעצם, היכולת שלנו להשפיע על המתודה עצמה, על האנוטציה עצמה וזה בעזרת הביצוע של הפעולה הבאה.
הוספתי סוגריים ליד הטסט ונניח שאני רוצה עכשיו לשנות את הסדר של הטסטים, נגיד קודם שטסט אחד יבוצע קודם, שטסט שתיים יבוצע קודם, אז אני יכול לבצע את הפעולה הבאה: פריוריטי שווה 2 ואני אבצע משהו דומה כאן, פריוריטי שווה 1 ובעצם מה שאני מצפה זה שבעזרת ההגדרה הזאת
שהכנסתי לאנוטציה טסט בעצם סדר העריצות השתנה. אני אריץ את זה דרך הקובץ xml, לוחץ run כשאני עומד על הxml בעצם מבוצעת העריצה.
רואים שטסט 2 בעצם רץ לפני טסט 1. סדר העריצה השתנה בעזרת ההגדרה שהכנסתי לאנוטציה של טסט. בוא נגיד שאני לא רוצה לבצע עכשיו ריצה של הטסט הזה, אז אני יכול להוסיף עוד הגדרה, עוד מאפיין, וזה nabel שווה false.
אותו דבר אני אעשה פה, שווה 2, ובואו נבצע פריצה של טסטינג'י, אנחנו נראה שבעצם הדבר היחיד שרץ זה טסט 2. אם אני רוצה ללכת לטסט עצמו, אני יכול ללכת גם דרך ה-XML ובעצם לבצע לחיצה על הקונטרול ועל הקישור הזה ולהגיע לקובץ שלי.
אנחנו רואים פה ש-nabel 2 על טסט 2 ו-טסט 1 הוא ב-false ולכן הוא לא רץ אני אשנה את זה לטרוק הוא ירוץ שוב אם אני אריץ את זה עכשיו הוא שוב נראה את הטסט שלנו רץ מחדש אז כאמור אנחנו יכולים להחליט איזה טסטים אנחנו רוצים להריץ ואיזה לא יש לנו הרבה אפשרויות נוספות אפשר להסתכל על הדוקומנטציה
של הטסט אנג'י דוקומנטיישן ולראות איזה עוד דברים אנחנו יכולים להוסיף לטסטים שלנו אנחנו אנחנו יכולים להחליט על שיוך ל Group ולהגיד לו לדוגמה Group של נגיד Sanity ואני יכול בצורה הזאתי בעצם לשייך קבוצות של טסטים לתוך קבוצה מסוימת של הרצה ולבצע קליטה דרך ה-XML רק של הקבוצה הזאתי זאת אומרת לא רק לבצע קליטה
דרך קלאס אלא גם לבצע דרך אם אני רוצה להריץ רק את הגרופ שאני רוצה לבצע לדוגמה רק את הטסטים ששייכים לסניטי אני צריך לעשות את זה דרך האקסימל בעצם ומה שאני צריך לעשות זה להוסיף את הקבוצה של הגרופ לתוך הטסט שלי זאת אומרת אני צריך לבצע הכרזה על גרופ
זה הפעולה הזאתי אני סוגר את הקבוצה של הגרופ ואני יכול לבצע את הקריאה אני צריך לעשות