測試應用程式意見回饋

更新應用程式,支援以鍵碼應用程式狀態的形式傳送意見回饋後,請參考本頁指南來設定單元測試,並將測試意見回饋傳送至測試裝置政策控制器 (DPC)。

設定單元測試

本節將舉例說明如何設定單元測試,藉此檢查應用程式是否如預期互動。

步驟 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 Collection states = 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:安裝 Test DPC

請前往 Play 商店安裝最新版本的Test DPC。接著,將測試 DPC 設為裝置管理員:

adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver

步驟 2:啟用應用程式意見回饋通知

在 Test DPC 選單中,啟用「應用程式意見回饋通知」

啟用通知。

觸發設定了索引鍵應用程式狀態的事件。如果成功,測試的 DPC 會在通知中顯示意見回饋:

已顯示意見回饋