העיצוב של Android Studio נועד לפשט את הבדיקות. הוא כולל הרבה תכונות שמפשטות את תהליך היצירה, ההפעלה והניתוח של בדיקות. אתם יכולים להגדיר בדיקות שפועלות במחשב המקומי שלכם או בדיקות עם מכשור שפועלות במכשיר. אתם יכולים להריץ בקלות בדיקה אחת או קבוצה ספציפית של בדיקות במכשיר אחד או יותר. תוצאות הבדיקה מוצגות ישירות ב-Android Studio.
איור 1. Android Studio שבו מוצגת סקירה כללית של תוצאות הבדיקה.
בדף הזה מוסבר איך לנהל בדיקות ב-Android Studio. כאן אפשר לקרוא על כתיבת בדיקות אוטומטיות לאפליקציות ל-Android.
סוגי בדיקות ומיקומים
המיקום של הבדיקות תלוי בסוג הבדיקה שכותבים. בפרויקטים של Android יש ספריות קוד מקור שמוגדרות כברירת מחדל לבדיקות יחידה מקומיות ולבדיקות עם מכשור.
בדיקות יחידה מקומיות נמצאות בכתובת
module-name/src/test/java/
. אלה בדיקות שמופעלות במכונה הווירטואלית המקומית של Java (JVM) במחשב. אפשר להשתמש בבדיקות האלה כדי לצמצם את זמן הביצוע אם הבדיקות לא תלויות במסגרת Android או אם אפשר ליצור כפילויות של בדיקות בשביל התלות במסגרת Android.
מידע נוסף על כתיבת בדיקות יחידה מקומיות זמין במאמר יצירת בדיקות יחידה מקומיות.
בדיקות עם מכשור נמצאות בכתובת
$module-name/src/androidTest/java/
.
הבדיקות האלה מופעלות במכשיר חומרה או באמולטור. יש להם גישה לממשקי Instrumentation
API שמאפשרים לכם לגשת למידע, כמו המחלקה Context
, באפליקציה שאתם בודקים, ולשלוט באפליקציה שנבדקת מקוד הבדיקה שלכם. בדיקות עם מכשור מובנות ב-APK נפרד, ולכן יש להן קובץ AndroidManifest.xml
משלהן. הקובץ הזה נוצר באופן אוטומטי, אבל אפשר ליצור גרסה משלכם בכתובת $module-name/src/androidTest/AndroidManifest.xml
, והיא תמוזג עם המניפסט שנוצר. משתמשים בבדיקות עם מכשור כשכותבים בדיקות שילוב ובדיקות פונקציונליות של ממשק משתמש כדי להפוך את האינטראקציה עם המשתמש לאוטומטית, או כשהבדיקות כוללות תלות ב-Android ואי אפשר ליצור כפילויות של בדיקות.
מידע נוסף על כתיבת בדיקות עם מכשור זמין במאמרים יצירת בדיקות עם מכשור ואוטומציה של בדיקות ממשק משתמש.
אפשר למקם את הבדיקות בספריות ספציפיות לווריאנטים של build כדי לבדוק רק וריאנטים ספציפיים של build. לדוגמה, אפשר להציב כמה בדיקות יחידה מקומיות ב-$module-name/src/testMyFlavor/java/
כדי שהבדיקות יתמקדו באפליקציה שנבנתה באמצעות קוד המקור של הטעם הזה. מידע נוסף על יצירת בדיקות מותאמות אישית זמין במאמר יצירת בדיקה עם מכשור לגרסת build.
כשיוצרים פרויקט חדש או מוסיפים מודול אפליקציה, Android Studio יוצר את קבוצות מקורות הבדיקה שצוינו קודם וכולל בכל אחת מהן קובץ בדיקה לדוגמה. אפשר לראות אותם בחלון Project כמו שמוצג באיור 2.
איור 2. בצד ימין מוצגות בדיקות JVM מקומיות (2) ובצד שמאל מוצגות בדיקות עם מכשור (1) של הפרויקט. אפשר לראות אותן בתצוגה Project (פרויקט) או בתצוגה Android (Android).
יצירת בדיקות חדשות
כדי להוסיף בדיקה חדשה למחלקה או לשיטה ספציפית ישירות מקוד המקור שלה, פועלים לפי השלבים הבאים:
- פותחים את קובץ המקור שמכיל את הקוד שרוצים לבדוק.
- מציבים את הסמן בשם של המחלקה או השיטה שרוצים לבדוק, ומקישים על Control+Shift+T (או על Command+Shift+T ב-macOS).
- בחלון הקופץ שמופיע, לוחצים על יצירת בדיקה חדשה…
- בתיבת הדו-שיח Create Test (יצירת בדיקה), בוחרים באפשרות JUnit4, עורכים את השדות והשיטות שרוצים ליצור ולוחצים על OK.
- בתיבת הדו-שיח Choose Destination Directory (בחירת ספריית יעד), לוחצים על קבוצת המקורות שמתאימה לסוג הבדיקה שרוצים ליצור: androidTest לבדיקה עם מכשור או test לבדיקת יחידות מקומית. ואז לוחצים על אישור.
לחלופין, אפשר ליצור קובץ בדיקה גנרי במערך מקורות הבדיקה המתאים באופן הבא:
- בחלון Project (פרויקט) שמימין, לוחצים על התפריט הנפתח ובוחרים בתצוגה Android.
- לוחצים לחיצה ימנית על הספרייה java ובוחרים באפשרות New > Java Class (חדש > מחלקה ב-Java) או באפשרות New > Kotlin Class/File (חדש > מחלקה או קובץ ב-Kotlin). אפשר גם לבחור את הספרייה java ולהשתמש בקיצור הדרך Control+N (Command+N ב-macOS).
- בתיבת הדו-שיח Choose Destination Directory (בחירת ספריית יעד), לוחצים על קבוצת המקורות שמתאימה לסוג הבדיקה שרוצים ליצור: androidTest לבדיקה עם מכשור או test לבדיקת יחידות מקומית. ואז לוחצים על אישור.
- נותנים שם לקובץ ולוחצים על אישור.
אם האפליקציה לא עוברת קומפילציה אחרי שמוסיפים לה בדיקה, צריך לוודא שהגדרתם את יחסי התלות הנכונים של ספריית הבדיקות. במאמרים יצירת בדיקות מקומיות ויצירת בדיקות עם מכשור מפורטות התלויות הנכונות.
הרצת בדיקות
לפני שמריצים בדיקות, צריך לוודא שהפרויקט מסונכרן באופן מלא עם Gradle. לשם כך, לוחצים על Sync Project (סנכרון הפרויקט) בסרגל הכלים. אפשר להריץ בדיקות ברמות פירוט שונות:
כדי להריץ את כל הבדיקות בספרייה או בקובץ, פותחים את חלון הפרויקט ומבצעים אחת מהפעולות הבאות:
- לוחצים לחיצה ימנית על ספרייה או על קובץ ואז לוחצים על הפעלה
.
- בוחרים את הספרייה או הקובץ ומשתמשים בקיצור הדרך Control+Shift+R.
- לוחצים לחיצה ימנית על ספרייה או על קובץ ואז לוחצים על הפעלה
כדי להריץ את כל הבדיקות במחלקה או שיטה ספציפית, פותחים את קובץ הבדיקה בכלי לעריכת קוד ומבצעים אחת מהפעולות הבאות:
- לוחצים על סמל הפעלת בדיקה
בשוליים.
- לוחצים לחיצה ימנית על מחלקת הבדיקה או על השיטה ולוחצים על Run (הפעלה)
.
- בוחרים את מחלקת הבדיקה או את השיטה ומשתמשים בקיצור הדרך Control+Shift+R.
- לוחצים על סמל הפעלת בדיקה
הבדיקות שמוגדרות במכשיר יפעלו במכשיר פיזי או באמולטור. מידע נוסף על הגדרת מכשירים פיזיים זמין במאמר הרצת אפליקציות במכשיר חומרה. מידע נוסף על הגדרת אמולטורים זמין במאמר הרצת אפליקציות באמולטור של Android.
הגדרת הרצת הבדיקה
כברירת מחדל, הבדיקות מורצות באמצעות הגדרת ההרצה שמוגדרת כברירת מחדל ב-Android Studio. אם צריך לשנות הגדרות מסוימות של ההרצה, כמו כלי ההרצה של המכשיר ואפשרויות הפריסה, אפשר לערוך את הגדרת ההרצה בתיבת הדו-שיח Run/Debug Configurations (הגדרות הרצה/ניפוי באגים) (לוחצים על Run > Edit Configurations (הפעלה > עריכת הגדרות)).
כלי בדיקה מאוחד של Gradle
הפלאגין Android Gradle בגרסה 7.1.0 ומעלה, ו-Android Studio Bumblebee ומעלה, משתמשים בהטמעה של Gradle עצמה של Android instrumented test runner כדי להריץ בדיקות instrumented. אם משתמשים באותו כלי להרצת בדיקות, סביר להניח שהתוצאות יהיו עקביות, בין אם מריצים את הבדיקות באמצעות AGP משורת הפקודה, למשל בשרת שילוב רציף, או מ-Android Studio.
איור 3. כלי להרצת בדיקות ב-Gradle.
בגרסאות קודמות של Android Studio נעשה שימוש ב-IntelliJ Android instrumented test runner במקום ב-Gradle's Android instrumented test runner. לכן, אם אתם לא משתמשים בגרסה העדכנית של Android Studio, יכול להיות שתראו תוצאות שונות של בדיקות, למשל בדיקות שעוברות באמצעות רץ אחד ונכשלות באמצעות רץ אחר, בהתאם לאופן שבו אתם מריצים את הבדיקות – מ-Android Studio או משורת הפקודה באמצעות הפלאגין Gradle.
איור 4. הפעלת בדיקות נפרדת בגרסאות ישנות יותר של Android Studio.
אם כבר שמרתם הגדרות בדיקה מנוהלות בפרויקט, המערכת תשתמש ב-Gradle כדי להריץ בדיקות במכשיר המחובר. אפשר ליצור הגדרת בדיקה חדשה עם מכשור באמצעות פעולת השוליים שליד מחלקת הבדיקה או השיטה, כמו שמוצג בהמשך.
איור 5. הרצת בדיקות מפעולת שוליים.
כשמריצים בדיקות עם מכשור, אפשר לוודא ש-Android Studio משתמש ב-Gradle test runner על ידי בדיקת פלט הבדיקה ב-Test Matrix לפלט של משימת Gradle.
הרצה במקביל במספר מכשירים
כברירת מחדל, בדיקות עם מכשור מופעלות במכשיר פיזי אחד או באמולטור אחד. אם אתם רוצים לראות איך הבדיקות מתנהלות במערך גדול יותר של מכשירים, אתם יכולים לבחור עוד מכשירים באופן הבא:
לפני שמריצים את הבדיקות, פותחים את התפריט הנפתח מכשיר היעד ובוחרים באפשרות בחירת כמה מכשירים….
איור 6. לוחצים על התפריט הנפתח 'מספר מכשירים'.
בוחרים את המכשירים הרצויים ולוחצים על אישור.
מוודאים שהטקסט בתפריט הנפתח של היעד השתנה למספר מכשירים ולוחצים על הפעלה
.
בחלון הכלים Test Matrix מוצגות תוצאות הבדיקה לכל תצורת מכשיר שנבחרה.
איור 7. תוצאות הבדיקה בחלון הכלים Test Matrix.
אפשר ללחוץ על בדיקה ספציפית כדי לבדוק את התוצאה בחלונית הפלט. אפשר גם למיין את הבדיקות בלחיצה על העמודות השונות.
הרצה באמצעות Firebase Test Lab
באמצעות Firebase Test Lab, תוכלו לבדוק את האפליקציה בו-זמנית במכשירים פופולריים רבים של Android ובהגדרות שונות של מכשירים (שילובים שונים של אזור, כיוון, גודל מסך וגרסת פלטפורמה). הבדיקות האלה מופעלות במכשירים פיזיים ווירטואליים במרכזי נתונים מרוחקים של Google. תוצאות הבדיקה כוללות יומני בדיקה ופרטים על כל כשל באפליקציה.
כדי להתחיל להשתמש ב-Firebase Test Lab, צריך לבצע את הפעולות הבאות:
- אם עדיין אין לכם חשבון Google, עליכם ליצור חשבון.
- במסוף Firebase, לוחצים על יצירת פרויקט חדש.
ב-Android Studio יש כלים משולבים שמאפשרים להגדיר איך רוצים לפרוס את הבדיקות ב-Firebase Test Lab. אחרי שיוצרים פרויקט Firebase, אפשר ליצור הגדרת בדיקה ולהריץ את הבדיקות:
- בתפריט הראשי, לוחצים על Run (הפעלה) > Edit Configurations (עריכת הגדרות).
- לוחצים על Add New Configuration (הוספת הגדרה חדשה)
ובוחרים באפשרות Android Instrumented Tests (בדיקות מכשירים ב-Android).
- מזינים או בוחרים את פרטי הבדיקה, כמו שם הבדיקה, סוג המודול, סוג הבדיקה ומחלקת הבדיקה.
- בתפריט הנפתח יעד שבקטע אפשרויות יעד הפריסה, בוחרים באפשרות מטריצת מכשירים של Firebase Test Lab.
- אם לא נכנסתם לחשבון, לוחצים על כניסה באמצעות Google ומאשרים ל-Android Studio לגשת לחשבון.
- לצד Cloud Project, בוחרים את פרויקט Firebase מהרשימה.
- לצד הגדרת מטריצה, בוחרים אחת מההגדרות שמוגדרות כברירת מחדל מהתפריט הנפתח או יוצרים הגדרה משלכם על ידי לחיצה על פתיחת תיבת דו-שיח
. אפשר לבחור מכשיר אחד או יותר, גרסאות Android, אזורים ושפות והגדרות מסך שבהם רוצים לבדוק את האפליקציה. Firebase Test Lab יבדוק את האפליקציה שלכם ביחס לכל שילוב של הבחירות שלכם כשיווצרו תוצאות הבדיקה.
- לוחצים על OK בתיבת הדו-שיח Run/Debug Configurations (הגדרות הפעלה/ניפוי באגים) כדי לצאת.
- כדי להריץ את הבדיקות, לוחצים על הפעלה
.
איור 8. יצירת הגדרת בדיקה ל-Firebase Test Lab.
ניתוח תוצאות הבדיקה
כש-Firebase Test Lab מסיים להריץ את הבדיקות, נפתח החלון Run עם התוצאות, כמו שמוצג באיור 9. יכול להיות שתצטרכו ללחוץ על הצגת הבדיקות שעברו כדי לראות את כל הבדיקות שהופעלו.
איור 9. התוצאות של בדיקות עם מכשור באמצעות Firebase Test Lab.
אפשר גם לנתח את הבדיקות באינטרנט באמצעות הקישור שמוצג בתחילת יומן הביצוע של הבדיקה בחלון Run.
צפייה בכיסוי הבדיקה
הכלי לבדיקת כיסוי זמין לבדיקות יחידה מקומיות, כדי לעקוב אחרי האחוז והאזורים בקוד האפליקציה שנסקרו על ידי בדיקות היחידה. אפשר להשתמש בכלי לבדיקת כיסוי הבדיקות כדי לקבוע אם בדקתם באופן מספק את הרכיבים, המחלקות, השיטות ושורות הקוד שמרכיבים את האפליקציה.
כדי להריץ בדיקות עם כיסוי, פועלים לפי אותם השלבים שמתוארים במאמר הרצת בדיקות, רק שבמקום ללחוץ על הרצה , לוחצים על הרצת שם הבדיקה עם כיסוי
. בחלון Project, יכול להיות שהאפשרות הזו מוסתרת מאחורי More Run/Debug. אפשר גם להגדיר את הגדרות הכיסוי בתיבת הדו-שיח Run/Debug Configurations (הגדרות הרצה/ניפוי באגים), בכרטיסייה Code Coverage (כיסוי קוד).
איור 10. אחוז כיסוי הקוד של אפליקציה.
צפייה בתוצאות הבדיקה
כשמריצים בדיקה אחת או יותר מ-Android Studio, התוצאות מופיעות בחלון Run. איור 11 מציג הפעלה מוצלחת של בדיקה.
איור 11. תוצאות הבדיקה מופיעות בחלון ההפעלה.
בחלון Run (הפעלה) מוצגות הבדיקות בתצוגת עץ בצד ימין, והתוצאות וההודעות של חבילת הבדיקות הנוכחית מוצגות בחלונית הפלט בצד שמאל. כדי לנהל את תוצאות הבדיקה, משתמשים בסרגלי הכלים, בתפריטי ההקשר ובסמלי הסטטוס, באופן הבא:
- אפשר להשתמש בסרגל הכלים של ההפעלה כדי להפעיל מחדש את הבדיקה הנוכחית, להפסיק את הבדיקה הנוכחית, להפעיל מחדש בדיקות שנכשלו (לא מוצג כי הוא זמין רק לבדיקות יחידה), להשהות את הפלט ולבצע dump של השרשורים.
- אפשר להשתמש בסרגל הכלים לבדיקה כדי לסנן ולמיין את תוצאות הבדיקה. אפשר גם להרחיב או לכווץ צמתים, להציג את כיסוי הבדיקה ולייבא או לייצא תוצאות בדיקה.
- לוחצים על תפריט ההקשר כדי לעקוב אחרי הבדיקה שפועלת, להציג נתונים סטטיסטיים בשורה, לגלול אל מעקב אחר מחסנית, לפתוח את קוד המקור בחריגה, לגלול אוטומטית אל המקור ולבחור את הבדיקה הראשונה שנכשלה כשהרצת הבדיקה מסתיימת.
- סמלי סטטוס הבדיקה מציינים אם בבדיקה יש שגיאה, אם היא התעלמה, נכשלה, נמצאת בתהליך, עברה, הושהתה, הסתיימה או לא הופעלה.
- לוחצים לחיצה ימנית על שורה בתצוגת העץ כדי להציג תפריט הקשר שמאפשר להריץ את הבדיקות במצב ניפוי באגים, לפתוח את קובץ קוד המקור של הבדיקה או לעבור לשורה בקוד המקור שנבדק.
ניתוח של שגיאות בבדיקות
אם אחת מהבדיקות או יותר נכשלות, בחלון התוצאות מוצג סימן אזהרה ומספר הכשלים (לדוגמה, 'Tests failed: 1'):
איור 12. פרטים על הבדיקה שנכשלה בחלונית הפלט.
כשלוחצים על הבדיקה שנכשלה בתצוגת העץ בצד ימין, בחלונית הפלט בצד שמאל מוצגים פרטי הבדיקה. הערך הצפוי מוצג לצד הערך בפועל, כדי שתוכלו להשוות ביניהם. הקישור לחצו כאן כדי לראות את ההבדל פותח כלי להשוואה בין קבצים, שבו אפשר לראות את התוצאות זו לצד זו.
מידע נוסף
בדף הזה מוסבר איך ליצור ולהריץ את הבדיקה הראשונה באמצעות Android Studio. אפשר גם להריץ בדיקות משורת הפקודה. אפשר גם לעיין בתיעוד של IntelliJ בנושא בדיקות. מידע נוסף על הגדרת הבדיקות כשיוצרים חבילת בדיקות גדולה יותר זמין במאמר בנושא הגדרת בדיקות מתקדמת.