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