Espresso-testing-custom-view-matchers
提供:Dev Guides
カスタムビューマッチャー
Espressoには、独自のカスタムビューマッチャーを作成するためのさまざまなオプションがあり、_Hamcrest_マッチャーに基づいています。 カスタムマッチャーは、フレームワークを拡張し、好みに合わせてフレームワークをカスタマイズするための非常に強力な概念です。 カスタムマッチャーを作成する利点のいくつかは次のとおりです。
- 独自のカスタムビューのユニークな機能を活用するには
- カスタムマッチャーは、_AdapterView_ベースのテストケースでさまざまな種類の基になるデータと照合するのに役立ちます。
- 複数のマッチャーの機能を組み合わせて、現在のマッチャーを簡素化するには
需要が生じたときに新しいマッチャーを作成でき、非常に簡単です。 新しいカスタムマッチャーを作成して、_TextView_のidとテキストの両方をテストするマッチャーを返します。
エスプレッソは、新しいマッチャーを記述するために次の2つのクラスを提供します-
- TypeSafeMatcher
- BoundedMatcher
両方のクラスは性質が似ていますが、_BoundedMatcher_は、正しい型を手動で確認することなく、正しい型へのオブジェクトのキャストを透過的に処理します。 _BoundedMatcher_クラスを使用して、新しいマッチャー_withIdAndText_を作成します。 新しいマッチャーを作成する手順を確認しましょう。
- _app/build.gradle_ファイルに以下の依存関係を追加して同期します。
- マッチャー(メソッド)を含める新しいクラスを作成し、_final_としてマークします
- 必要な引数を使用して新しいクラス内で静的メソッドを宣言し、Matcher <View>を戻り値の型として設定します。
- 静的メソッド内に以下のシグネチャを持つ新しいBoundedMatcherオブジェクト(戻り値も)を作成します。
- _BoundedMatcher_オブジェクトの_describeTo_および_matchesSafely_メソッドをオーバーライドします。 describeToには、戻り値のないタイプ_Description_の単一の引数があり、マッチャーに関するエラー情報に使用されます。 _matchesSafely_には戻り値の型_boolean_を持つTextView型の引数が1つあり、ビューの照合に使用されます。
コードの最終バージョンは次のとおりです。
- 最後に、mewマッチャーを使用して、以下に示すテストケースを記述できます。