Espresso Testing Framework - Behauptungen anzeigen

Wie bereits erwähnt, wird die Ansichtszusicherung verwendet, um zu bestätigen, dass sowohl die tatsächliche Ansicht (mithilfe von Ansichtsabgleichern gefunden) als auch die erwarteten Ansichten identisch sind. Ein Beispielcode lautet wie folgt:

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

Hier,

  • onView () gibt das ViewInteration- Objekt zurück, das der übereinstimmenden Ansicht entspricht. ViewInteraction wird verwendet, um mit der übereinstimmenden Ansicht zu interagieren.

  • withId (R.id.my_view) gibt einen Ansichts-Matcher zurück, der mit der Ansicht (tatsächlich) übereinstimmt , deren ID- Attribute my_view entsprechen .

  • withText ( „Hallo“) auch einen Blick Matcher zurückgibt , die mit der Ansicht übereinstimmen (erwartet) mit Textattributen gleich zu Hallo .

  • check ist eine Methode, die ein Argument vom Typ ViewAssertion akzeptiert und eine Assertion mit dem im ViewAssertion- Objekt übergebenen Objekt ausführt .

  • Übereinstimmungen (withText ("Hallo")) gibt eine Ansichtszusicherung zurück, die das ausführtreal jobzu behaupten, dass sowohl die tatsächliche Ansicht (gefunden mit withId ) als auch die erwartete Ansicht (gefunden mit withText ) ein und dieselbe sind.

Lassen Sie uns einige der Methoden kennenlernen, die vom Espresso-Test-Framework bereitgestellt werden, um Ansichtsobjekte zu bestätigen.

ist nicht vorhanden()

Gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der Ansichtsabgleich keine übereinstimmende Ansicht findet.

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

Hier stellt der Testfall sicher, dass es keine Ansicht mit Text Hallo gibt.

Streichhölzer()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der Ansichts-Matcher (tatsächlich) vorhanden ist und mit der vom Zielansichts-Matcher übereinstimmenden Ansicht übereinstimmt.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.textView_hello vorhanden ist und mit der Zielansicht mit dem Text Hello World!

isBottomAlignedWith ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und unten am Zielansichts-Matcher ausgerichtet ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und unten mit der Ansicht mit der ID R.id.target_view ausgerichtet ist .

isCompletelyAbove ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und vollständig über dem Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und vollständig über der Ansicht mit der ID R.id.target_view positioniert ist

isCompletelyBelow ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und vollständig unter dem Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und vollständig unter der Ansicht mit der ID R.id.target_view positioniert ist .

isCompletelyLeftOf ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und vollständig links vom Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und vollständig links von der Ansicht mit der ID R.id.target_view positioniert ist

isCompletelyRightOf ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und vollständig rechts vom Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und vollständig rechts von der Ansicht mit der ID R.id.target_view positioniert ist.

isLeftAlignedWith ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und links vom Zielansichts-Matcher ausgerichtet bleibt.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und links mit der Ansicht mit der ID R.id.target_view ausgerichtet ist

isPartiallyAbove ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und teilweise über dem Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und teilweise über der Ansicht mit der ID R.id.target_view positioniert ist

isPartiallyBelow ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der Ansichts-Matcher (tatsächlich) vorhanden ist und teilweise unter dem Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und teilweise unter der Ansicht mit der ID R.id.target_view positioniert ist .

isPartiallyLeftOf ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und teilweise links vom Zielansichts-Matcher positioniert ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und teilweise links von der Ansicht mit der ID R.id.target_view positioniert ist .

isPartiallyRightOf ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und teilweise rechts vom Zielansichts-Matcher positioniert ist

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und teilweise rechts von der Ansicht mit der ID R.id.target_view positioniert ist .

isRightAlignedWith ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der Ansichts-Matcher (tatsächlich) vorhanden ist und direkt mit dem Zielansichts-Matcher ausgerichtet ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und rechts mit der Ansicht mit der ID R.id.target_view ausgerichtet ist .

isTopAlignedWith ()

Akzeptiert einen Zielansichts-Matcher und gibt eine Ansichtszusicherung zurück, die sicherstellt, dass der (tatsächliche) Ansichts-Matcher vorhanden ist und oben mit dem Zielansichts-Matcher ausgerichtet ist.

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

Hier stellt der Testfall sicher, dass die Ansicht mit der ID R.id.view vorhanden ist und oben mit der Ansicht mit der ID R.id.target_view ausgerichtet ist

noEllipsizedText ()

Gibt eine Ansichtszusicherung zurück, die sicherstellt, dass die Ansichtshierarchie keine ellipsierten oder abgeschnittenen Textansichten enthält.

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

noMultilineButtons ()

Gibt eine Ansichtszusicherung zurück, die sicherstellt, dass die Ansichtshierarchie keine mehrzeiligen Schaltflächen enthält.

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

noOverlaps ()

Gibt eine Ansichtszusicherung zurück, die sicherstellt, dass sich das Nachkommentextobjekt, das TextView oder ImageView zugewiesen werden kann, nicht überlappt. Es gibt eine weitere Option, die einen Zielansichts-Matcher akzeptiert und eine Ansichtszusicherung zurückgibt, die sicherstellt, dass sich die mit der Zielansicht übereinstimmende Nachkommenansicht nicht überlappt.