앱에 관한 의견 테스트

키가 지정된 앱 상태의 형식으로 의견을 보낼 수 있도록 앱을 업데이트한 후 이 페이지의 안내를 사용하여 단위 테스트를 설정하고 테스트 기기 정책 컨트롤러 (DPC)로 테스트 의견을 보낼 수 있습니다.

단위 테스트 설정

이 섹션에서는 단위 테스트를 설정하여 앱이 예상대로 입력 앱 상태와 상호작용하는지 확인하는 방법에 관한 예를 제공합니다.

1단계: KeyedAppStatesReporter를 매개변수로 허용하도록 클래스 설정

create()를 직접 호출하는 대신 아래 예 BatteryManager 클래스처럼 KeyedAppStatesReporter를 매개변수로 허용하도록 클래스를 수정합니다.

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

Test DPC로 테스트 의견 보내기

Test DPC라고 하는 샘플 기기 정책 컨트롤러는 앱 의견을 수신할 수 있으며 다운로드할 수 있습니다.

1단계: Test DPC 설치

Play 스토어에서 최신 버전의 Test DPC를 설치합니다. 그런 다음 Test DPC를 기기 관리자로 설정합니다.

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

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

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

알림 사용 설정

키가 지정된 앱 상태를 설정하는 이벤트를 트리거합니다. 성공하면 Test DPC가 알림에 피드백을 표시합니다.

의견 표시됨