راهاندازی آزمونهای واحد
این بخش نمونههایی از نحوه راهاندازی آزمایشهای واحد برای بررسی اینکه برنامهتان با وضعیتهای کلیددار برنامه طبق انتظار تعامل دارد ارائه میدهد.
مرحله ۱: کلاسهایتان را طوری راهاندازی کنید که KeyedAppStatesReporter را بهعنوان پارامتر بپذیرند
بهجای فراخوانی مستقیم create()، کلاسهایتان را اصلاح کنید تا
KeyedAppStatesReporter را بهعنوان پارامتر بپذیرند، مانند مثال BatteryManager
کلاس زیر:
کاتلین
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())) } }
جاوا
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 ایجاد شده است استفاده کنید.
مرحله ۲: کتابخانه آزمایش بازخورد سازمانی را به فایل build.gradle اضافه کنید
وابستگی زیر را به فایل
build.gradle برنامهتان اضافه کنید:
dependencies {
testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0'
}
مرحله ۳: FakeKeyedAppStatesReporter ایجاد کنید و آن را به کلاس خود منتقل کنید
کاتلین
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
جاوا
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
مرحله ۴: تعاملات با FakeKeyedAppStatesReporter را تأیید کنید
برای مثال، برای بررسی اینکه هیچ وضعیتی تنظیم نشده است:
کاتلین
assertThat(reporter.keyedAppStates).isEmpty();
جاوا
assertThat(reporter.getKeyedAppStates()).isEmpty();
یا اینکه درخواست شده است وضعیت خاصی بارگذاری شود:
کاتلین
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
جاوا
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
ارسال بازخورد آزمایشی به Test DPC
یک نمونه کنترلکننده خطمشی دستگاه، بهنام Test DPC، قادر به دریافت بازخورد برنامه است و برای بارگیری دردسترس است.
مرحله ۱: نصب Test DPC
جدیدترین نسخه Test DPC را از «فروشگاه Play» نصب کنید. سپس، Test DPC را بهعنوان سرپرست دستگاه تنظیم کنید:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
مرحله ۲: فعال کردن اعلانهای بازخورد برنامه
در منو Test DPC، اعلانهای بازخورد برنامه را فعال کنید.
رویدادی را راهاندازی کنید که وضعیت برنامه کلیددار را تنظیم میکند. اگر موفقیتآمیز باشد، Test DPC بازخورد را در اعلانها نشان میدهد: