デバッグテスト

テストで問題を解決する主な方法は、セマンティクス ツリーを確認することです。テストの任意の時点で composeTestRule.onRoot().printToLog() を呼び出すことで、ツリーを出力できます。この関数は次のようなログを出力します。

Node #1 at (...)px
 |-Node #2 at (...)px
   OnClick = '...'
   MergeDescendants = 'true'
    |-Node #3 at (...)px
    | Text = 'Hi'
    |-Node #5 at (83.0, 86.0, 191.0, 135.0)px
      Text = 'There'

こうしたログには、バグを追跡するための貴重な情報が含まれています。

参考情報

  • Android でアプリをテストする: Android テストのメイン ランディング ページでは、テストの基礎と手法についてより広範な視点から説明しています。
  • テストの基礎: Android アプリのテストの背景にある基本概念について詳しく学びます。
  • ローカルテスト: 一部のテストは、自分のワークステーションでローカルに実行できます。
  • インストゥルメント化テスト: インストゥルメント化テストも実行することをおすすめします。つまり、デバイス上で直接実行されるテストです。
  • 継続的インテグレーション: 継続的インテグレーションを使用すると、テストをデプロイ パイプラインに統合できます。
  • さまざまな画面サイズをテストする: ユーザーが利用できるデバイスは多種多様であるため、さまざまな画面サイズでテストする必要があります。
  • Espresso: View ベースの UI を対象としていますが、Espresso の知識は Compose テストのいくつかの側面で役立ちます。