단위 테스트 설정
이 섹션에서는 단위 테스트를 설정하여 앱이 예상대로 입력 앱 상태와 상호작용하는지 확인하는 방법에 관한 예를 제공합니다.
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 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
를 만들어 클래스에 전달
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 메뉴에서 앱 의견 알림을 사용 설정합니다.
![알림 사용 설정](https://developer.android.google.cn/static/images/work/test-dpc-screenshot.png?authuser=8&hl=ko)
키가 지정된 앱 상태를 설정하는 이벤트를 트리거합니다. 성공하면 Test DPC가 알림에 피드백을 표시합니다.
![의견 표시됨](https://developer.android.google.cn/static/images/work/feedback-notification.png?authuser=8&hl=ko)