앱에 관한 의견 테스트

키 앱 상태 형태로 의견을 보낼 수 있도록 앱을 업데이트한 후에는 다음을 사용할 수 있습니다. 단위 테스트를 설정하고 테스트 기기 정책에 테스트 의견을 보내는 방법에 관한 이 페이지의 안내 컨트롤러 (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()))
  }
}

자바

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);

자바

FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter();
BatteryManager batteryManager = new BatteryManager(reporter);

4단계: FakeKeyedAppStatesReporter와의 상호작용 어설션

예를 들어 설정된 상태가 없는지 확인하려면 다음을 실행합니다.

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

자바

assertThat(reporter.getKeyedAppStates()).isEmpty();

또는 특정 상태가 업로드되도록 요청된 경우:

Kotlin

assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()

자바

assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();

Test DPC에 테스트 의견 보내기

샘플 기기 정책 컨트롤러 앱 피드백을 수신할 수 있으며 테스트 DPC를 통해 다운로드.

1단계: Test DPC 설치

Test DPC의 최신 버전을 설치합니다. 앱을 다운로드할 수 있습니다. 다음으로 Test DPC를 기기 관리자로 설정합니다.

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

2단계: 앱 의견 알림 사용 설정

Test DPC의 메뉴에서 앱 의견 알림을 사용 설정합니다.

알림 사용

키가 있는 앱 상태를 설정하는 이벤트를 트리거합니다. 성공하면 Test DPC가 표시됩니다. 알림의 피드백:

의견 표시됨