הגדרה של בדיקות יחידה
בקטע הזה מפורטות דוגמאות להגדרה של בדיקות יחידה (unit testing) כדי לבדוק שהאפליקציה מקיימת אינטראקציה איתה למצבי האפליקציה המטורגטים, כפי שמצופה.
שלב 1: מגדירים את הכיתות כך שיקבלו את KeyedAppStatesReporter
כפרמטר
במקום להתקשר ישירות אל create()
, אפשר לשנות את הכיתות כדי לאשר
KeyedAppStatesReporter
כפרמטר כמו בדוגמה BatteryManager
כיתה הבאה:
Kotlin
class BatteryManager(val reporter:KeyedAppStatesReporter) { fun lowBattery(battery:Int) { reporter.setStatesImmediate( hashSetOf(KeyedAppState.builder() .setKey("battery") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("Battery is low") .setData(battery.toString()) .build())) } }
Java
public class BatteryManager { private final KeyedAppStatesReporter reporter; public BatteryManager(KeyedAppStatesReporter reporter) { this.reporter = reporter; } public void lowBattery(int battery) { final Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("battery") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("Battery is low") .setData(Integer.toString(battery)) .build(); reporter.setStatesImmediate(states); } }
בשלב הבא, משתמשים ב-KeyedAppStatesReporter.create
כדי לקבל שמכונה תעבור
בכל מקום שבו נוצר BatteryManager
.
שלב 2: מוסיפים את ספריית הבדיקה של המשוב הארגוני לקובץ build.gradle
יש להוסיף את התלות הבאה
קובץ build.gradle
:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
שלב 3: יוצרים FakeKeyedAppStatesReporter
ומעבירים אותו לכיתה
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
שלב 4: הצהרת בעלות על אינטראקציות עם FakeKeyedAppStatesReporter
לדוגמה, כדי לבדוק שלא הוגדרו מדינות:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
או שנשלחה בקשה להעלאה של מצב מסוים:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
שליחת משוב לבדיקה אל בדיקת ה-DPC
דוגמה של נאמן מידע למדיניות מכשירים שנקרא 'בקר DPC לבדיקה', יכול לקבל משוב על האפליקציה וזמין להוריד.
שלב 1: מתקינים את בקר ה-DPC לבדיקה
מתקינים את הגרסה האחרונה של Test DPC מחנות Play. בשלב הבא, מגדירים את בקר ה-DPC לבדיקת האדמין כאדמין של המכשיר:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
שלב 2: הפעלת התראות על משוב לגבי אפליקציות
בתפריט של בדיקת ה-DPC, מפעילים את האפשרות התראות על משוב מהאפליקציה.
![הפעלת ההתראות](https://developer.android.com/static/images/work/test-dpc-screenshot.png?hl=he)
הפעלת אירוע שמציין את מצב המפתח של האפליקציה. אם הפעולה בוצעה ללא שגיאות, בקר ה-DPC של בדיקה יוצג המשוב בהתראות:
![המשוב מוצג](https://developer.android.com/static/images/work/feedback-notification.png?hl=he)