Compose の UI テストでは、セマンティクスを使用して UI 階層を操作します。セマンティクスは、その名のとおり、UI の一部に意味を与えます。ここでは 「UI の一部」(要素)は、単一のコンポーザブルから クリックします。セマンティクス ツリーは、UI 階層に沿って生成され、 階層を表します。
セマンティクス全般について詳しくは、Compose のセマンティクスをご覧ください。
図 1. 典型的な UI 階層とそのセマンティクス ツリー。
セマンティクス フレームワークは主にユーザー補助機能で使用されるため、テストでは、セマンティクスが UI 階層について公開する情報を利用します。公開する内容と公開範囲はデベロッパーが決定します。
図 2. アイコンとテキストを含む一般的なボタン。
たとえば、アイコンとテキスト要素で構成されるこのようなボタンの場合、デフォルトのセマンティクス ツリーには「Like」というテキストラベルしか含まれません。これは、一部のコンポーザブル(Text
など)がすでにセマンティクス ツリーに一部のプロパティを公開しているためです。セマンティクス ツリーにプロパティを追加するには、
Modifier
。
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
参考情報
- Android でアプリをテストする: 主な Android テスト テストの基礎と手法を幅広く把握できる。
- テストの基礎: 詳細 Android アプリのテストの基本コンセプトについて説明します。
- ローカルテスト: いくつかのテストを実行できます 独自のワークステーションに ローカルに作成します
- インストルメンテーション テスト: インストルメンテーション テストも実行します。つまり、直接実行されるテストは、 できます。
- 継続的インテグレーション: 継続的インテグレーションにより、テストをデプロイに統合できる 説明します
- さまざまな画面サイズをテストする: 利用可能であれば、さまざまな画面でテストする必要があります。 あります。
- Espresso: ビューベース向け UI や Espresso の知識は Compose のいくつかの側面で引き続き役立ちます 説明します。