إعداد اختبارات الوحدات
يقدم هذا القسم أمثلة حول كيفية إعداد اختبارات الوحدات للتحقق من أن تطبيقك يتفاعل مع حالات التطبيق الأساسية كما هو متوقع.
الخطوة 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();
إرسال ملاحظات الاختبار إلى وحدة التحكّم بسياسة الجهاز للاختبار
نموذج لوحدة التحكم في سياسة الجهاز، المسماة Test DPC، يمكن تلقي ملاحظات على التطبيقات وهو متاح للتنزيل.
الخطوة 1: تثبيت اختبار وحدة التحكّم بسياسة الجهاز
ثبِّت أحدث إصدار من Test DPC (اختبار وحدة التحكّم بسياسة الجهاز) من "متجر Play". بعد ذلك، اضبط اختبار وحدة التحكّم بسياسة الجهاز (DPC) كمشرف للجهاز:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
الخطوة 2: تفعيل إشعارات ملاحظات التطبيقات
في قائمة Test DPC (وحدة التحكّم بسياسة الجهاز)، فعِّل إشعارات الملاحظات والآراء على التطبيق.
يؤدي هذا الخيار إلى بدء حدث يؤدي إلى ضبط حالة تطبيق مرتبط بمفتاح. في حال نجاح هذا الإجراء، سيعرض اختبار وحدة التحكّم بسياسة الجهاز الملاحظات في الإشعارات: