単体テストをセットアップする
このセクションでは、アプリが動作していることを確認するための単体テストのセットアップ方法の例を紹介します。 キー付きのアプリの状態が予期したとおりに作成されます。
ステップ 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 にテストのフィードバックを送信する
Device Policy Controller のサンプル という機能があり、アプリのフィードバックを受け取れます。 ダウンロードします。
ステップ 1: テスト DPC をインストールする
最新バージョンの Test DPC をインストールします。 ダウンロードしてください。次に、Test DPC をデバイスの管理者として設定します。
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
ステップ 2: アプリのフィードバック通知を有効にする
Test DPC のメニューで、[App feedback notifications] を有効にします。
![通知を有効にする](https://developer.android.com/static/images/work/test-dpc-screenshot.png?authuser=8&hl=ja)
キーが設定されたアプリの状態を設定するイベントをトリガーします。成功すると、Test DPC が表示されます。 通知のフィードバック:
![フィードバックを表示しています](https://developer.android.com/static/images/work/feedback-notification.png?authuser=8&hl=ja)