רץ המבחן הוא יחידת הביצוע של זרימת ההתקשרות. זה המקום שבו מבחנים בפועל.
ממשקים
רצים למבחן מוגדרים באמצעות ממשק IRemoteTest , המספק שיטת run
פשוטה ליישום שתיקרא כאשר הבדיקות אמורות לרוץ.
זה מאפשר להגדרה הפשוטה ביותר של ריצת בדיקה להתרחש. אבל בפועל, כותבי מבחנים יצטרכו מידע נוסף כדי לכתוב כראוי את המבחנים שלהם, בדרך כלל מידע על בנייה ומכשיר. זה המקום שבו הממשקים הבאים שימושיים.
בסיסי
שני הממשקים הללו הם הנפוצים ביותר כיום, מכיוון שהם מייצגים את הצרכים הבסיסיים של רוב הבדיקות.
- IBuildReceiver מאפשר לבדיקה לקבל את אובייקט
IBuildInfo
שנוצר בשלב ספק הבנייה המכיל את כל המידע והחפצים הקשורים להגדרת הבדיקה. - IDeviceTest מאפשר ל-TF לקבל את האובייקט
ITestDevice
המייצג את המכשיר הנבדק ומספק API לאינטראקציה איתו.
מִתקַדֵם
ישנם ממשקים נוספים המאפשרים אינטראקציה מורכבת יותר בין רתמת הבדיקה לרץ המבחן:
- ITestFilterReceiver , המאפשר לבדיקה לקבל סט מסננים להפעלת בדיקות מסוימות בלבד. זה שימושי בהפעלת תת-קבוצה של הבדיקות.
- ITestCollector , המאפשר לרץ מבחן להריץ רק את הבדיקות יבשות במקום לבצע אותן בפועל. זה שימושי באיסוף רשימת כל מקרי הבדיקה.
רצי מבחן קיימים
כבר קיים מגוון של רצי מבחן, חלקם לסוגי מבחן עיקריים:
- AndroidJUnitTest / InstrumentationTest (משויך ל-AJUR בצד המכשיר)
- GTest (צד מכשיר ומארח) עם ספריית googletest
- בדיקות מונעות מארח (מבחני Java שמתבצעים על המארח ומתקשרים למכשיר משם)
- בדיקות יחידת Java טהורות (הרץ שלנו עושה את שניהם)
- מבחני פייתון
- Google Benchmark בדיקות עם ספריית Benchmark
קיים מספר רב של רצי מבחן מותאמים אישית מלבד האמור לעיל; הם משרתים מטרות מיוחדות עבור בדיקות פונקציונליות מסוימות, למשל בדיקת אתחול.
כתוב רץ מבחן חדש
הדרכה נוספת לכתיבת רץ מבחן חדש זמינה בסעיף מבחני כתיבה .