Birim testleri oluşturma
Bu bölümde, uygulamanızın beklendiği gibi anahtarlı uygulama durumlarıyla etkileşimde bulunup bulunmadığını kontrol etmek için birim testlerinin nasıl ayarlanacağına dair örnekler verilmektedir.
1. adım: Sınıflarınızı, KeyedAppStatesReporter
parametresini parametre olarak kabul edecek şekilde ayarlayın
create()
öğesini doğrudan çağırmak yerine, sınıflarınızı aşağıdaki örnek BatteryManager
sınıfında olduğu gibi KeyedAppStatesReporter
parametresini parametre olarak kabul edecek şekilde değiştirin:
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); } }
Ardından, BatteryManager
oluşturulduğu her yerden geçecek bir örnek almak için KeyedAppStatesReporter.create
kullanın.
2. Adım: Kurumsal geri bildirim test kitaplığını build.gradle
dosyanıza ekleyin
Uygulamanızın build.gradle
dosyasına aşağıdaki bağımlılığı ekleyin:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
3. Adım: FakeKeyedAppStatesReporter
oluşturup sınıfınıza iletin
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
4. Adım: FakeKeyedAppStatesReporter
ile etkileşimleri iddia edin
Örneğin, hiçbir eyaletin ayarlanıp ayarlanmadığını kontrol etmek için:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Belirli bir eyaletin yüklenmesi için istekte bulunulduysa:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Test DPC'ye test geri bildirimi gönder
Test DPC adlı örnek bir cihaz politikası denetleyici, uygulama geri bildirimi alabilir ve indirilebilir.
1. Adım: Test DPC'yi yükleyin
Play Store'dan Test DPC'nin en son sürümünü yükleyin. Ardından, Test DPC'yi cihazın yöneticisi olarak ayarlayın:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
2. Adım: Uygulama geri bildirim bildirimlerini etkinleştirin
Test DPC'nin menüsünde, App geri bildirim bildirimleri'ni etkinleştirin.
Anahtarlı uygulama durumunu belirleyen bir etkinliği tetikleyin. Test başarılı olursa Test DPC bildirimlerde geri bildirimleri gösterir: