Framework de test Espresso - Afficher les assertions

Comme indiqué précédemment, l'assertion de vue est utilisée pour affirmer que la vue réelle (trouvée à l'aide des correspondances de vue) et les vues attendues sont identiques. Un exemple de code est le suivant,

onView(withId(R.id.my_view)) .check(matches(withText("Hello")))

Ici,

  • onView () renvoie l' objet ViewInteration correspondant à la vue correspondante. ViewInteraction est utilisé pour interagir avec la vue correspondante.

  • withId (R.id.my_view) renvoie une correspondance de vue qui correspondra à la vue (réelle) dont les attributs id sont égaux à my_view .

  • withText («Hello») retourne également une correspondance de vue qui correspondra à la vue (attendue) dont les attributs de texte sont égaux à Hello .

  • check est une méthode qui accepte un argument de type ViewAssertion et effectue une assertion à l'aide de l' objet ViewAssertion .

  • matches (withText («Hello»)) renvoie une assertion de vue, qui fera lereal jobd'affirmer que la vue réelle (trouvée avec withId ) et la vue attendue (trouvée avec withText ) sont une seule et même chose.

Apprenons quelques-unes des méthodes fournies par le framework de test espresso pour affirmer les objets de vue.

n'existe pas()

Renvoie une assertion de vue, qui garantit que la correspondance de vue ne trouve aucune vue correspondante.

onView(withText("Hello")) .check(doesNotExist());

Ici, le cas de test garantit qu'il n'y a pas de vue avec le texte Hello.

allumettes()

Accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la correspondance de vue (réelle) existe et correspond à la vue correspondant à la correspondance de vue cible.

onView(withId(R.id.textView_hello)) .check(matches(withText("Hello World!")));

Ici, le cas de test garantit que la vue ayant l'id, R.id.textView_hello existe et correspond à la vue cible avec le texte Hello World!

isBottomAlignedWith ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est alignée en bas avec la correspondance de vue cible.

onView(withId(R.id.view)) .check(isBottomAlignedWith(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est alignée en bas avec la vue ayant l'id, R.id.target_view .

isCompletelyAbove ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est positionnée complètement au-dessus de la correspondance de vue cible.

onView(withId(R.id.view)) .check(isCompletelyAbove(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée complètement au-dessus de la vue ayant l'id, R.id.target_view

isCompletelyBelow ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la correspondance de vue (réelle) existe et est positionnée complètement sous la correspondance de vue cible.

onView(withId(R.id.view)) .check(isCompletelyBelow(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée complètement sous la vue ayant l'id, R.id.target_view .

isCompletelyLeftOf ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est positionnée complètement à gauche de la correspondance de vue cible.

onView(withId(R.id.view)) .check(isCompletelyLeftOf(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée complètement à gauche de la vue ayant l'id, R.id.target_view

isCompletelyRightOf ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est positionnée complètement à droite de la correspondance de vue cible.

onView(withId(R.id.view)) .check(isCompletelyRightOf(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée complètement à droite de la vue ayant l'id, R.id.target_view.

isLeftAlignedWith ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est alignée à gauche avec la correspondance de vue cible.

onView(withId(R.id.view)) .check(isLeftAlignedWith(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est alignée à gauche avec la vue ayant l'id, R.id.target_view

isPartiallyAbove ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la correspondance de vue (réelle) existe et est positionnée partiellement au-dessus de la correspondance de vue cible.

onView(withId(R.id.view)) .check(isPartiallyAbove(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée partiellement au-dessus de la vue ayant l'id, R.id.target_view

isPartiallyBelow ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est positionnée partiellement sous la correspondance de vue cible.

onView(withId(R.id.view)) .check(isPartiallyBelow(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée partiellement sous la vue ayant l'id, R.id.target_view .

isPartiallyLeftOf ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la correspondance de vue (réelle) existe et est positionnée partiellement à gauche de la correspondance de vue cible.

onView(withId(R.id.view)) .check(isPartiallyLeftOf(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée partiellement à gauche de la vue ayant l'id, R.id.target_view .

isPartiallyRightOf ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, ce qui garantit que la correspondance de vue (réelle) existe et est positionnée partiellement à droite de la correspondance de vue cible

onView(withId(R.id.view)) .check(isPartiallyRightOf(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est positionnée partiellement à droite de la vue ayant l'id, R.id.target_view .

isRightAlignedWith ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la correspondance de vue (réelle) existe et est alignée à droite avec la correspondance de vue cible.

onView(withId(R.id.view)) .check(isRightAlignedWith(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est alignée à droite avec la vue ayant l'id, R.id.target_view .

isTopAlignedWith ()

Accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la correspondance de vue (réelle) existe et est alignée en haut avec la correspondance de vue cible.

onView(withId(R.id.view)) .check(isTopAlignedWith(withId(R.id.target_view)))

Ici, le cas de test garantit que la vue ayant l'id, R.id.view existe et est alignée en haut avec la vue ayant l'id, R.id.target_view

noEllipsizedText ()

Renvoie une assertion de vue, qui garantit que la hiérarchie des vues ne contient pas de vues de texte en ellipse ou tronquées.

onView(withId(R.id.view)) .check(noEllipsizedText());

noMultilineButtons ()

Renvoie une assertion de vue, qui garantit que la hiérarchie de vues ne contient pas de boutons sur plusieurs lignes.

onView(withId(R.id.view)) .check(noMultilineButtons());

noOverlaps ()

Renvoie une assertion de vue, qui garantit que l'objet descendant attribuable à TextView ou ImageView ne se chevauche pas. Il a une autre option, qui accepte une correspondance de vue cible et renvoie une assertion de vue, qui garantit que la vue descendante correspondant à la vue cible ne se chevauche pas.