Marco de prueba de Espresso: ver afirmaciones

Como se discutió anteriormente, la aserción de vista se usa para afirmar que tanto la vista real (que se encuentra usando los comparadores de vista) como las vistas esperadas son iguales. Un código de muestra es el siguiente,

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

Aquí,

  • onView () devuelve el objeto ViewInteration correspondiente a la vista coincidente. ViewInteraction se utiliza para interactuar con la vista emparejada.

  • withId (R.id.my_view) devuelve un comparador de vistas que coincidirá con la vista (real) que tiene atributos de identificación iguales a my_view .

  • withText ("Hola") también devuelve un comparador de vistas que coincidirá con la vista (esperada) que tiene atributos de texto iguales a Hola .

  • check es un método que acepta un argumento de tipo ViewAssertion y realiza una aserción utilizando el objeto ViewAssertion .

  • Match (withText ("Hello")) devuelve una aserción de vista, que hará elreal jobde afirmar que tanto la vista real (encontrada usando withId ) como la vista esperada (encontrada usando withText ) son una y la misma.

Aprendamos algunos de los métodos proporcionados por el marco de prueba espresso para afirmar los objetos de vista.

no existe()

Devuelve una aserción de vista, lo que garantiza que el comparador de vistas no encuentre ninguna vista coincidente.

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

Aquí, el caso de prueba garantiza que no haya ninguna vista con el texto Hola.

partidos()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y coincide con la vista que coincide con el comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.textView_hello existe y coincide con la vista de destino con el texto Hello World!

isBottomAlignedWith ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está alineado en la parte inferior con el comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y está alineada en la parte inferior con la vista que tiene id, R.id.target_view .

isCompletelyAbove ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está colocado completamente por encima del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y se coloca completamente por encima de la vista que tiene id, R.id.target_view

isCompletelyBelow ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está ubicado completamente debajo del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y está ubicada completamente debajo de la vista que tiene id, R.id.target_view .

isCompletelyLeftOf ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está ubicado completamente a la izquierda del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y se coloca completamente a la izquierda de la vista con id, R.id.target_view

isCompletelyRightOf ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está ubicado completamente a la derecha del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y está ubicada completamente a la derecha de la vista que tiene id, R.id.target_view.

isLeftAlignedWith ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y se deja alineado con el comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y se deja alineada con la vista que tiene id, R.id.target_view

isPartiallyAbove ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y se coloca parcialmente encima del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y está colocada parcialmente encima de la vista que tiene id, R.id.target_view

isPartiallyBelow ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está ubicado parcialmente debajo del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y se coloca parcialmente debajo de la vista que tiene id, R.id.target_view .

isPartiallyLeftOf ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está ubicado parcialmente a la izquierda del comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y se coloca parcialmente a la izquierda de la vista con id, R.id.target_view .

isPartiallyRightOf ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está ubicado parcialmente a la derecha del comparador de vistas de destino

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y se coloca parcialmente a la derecha de la vista que tiene id, R.id.target_view .

isRightAlignedWith ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) existe y está alineado a la derecha con el comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y está alineada a la derecha con la vista que tiene id, R.id.target_view .

isTopAlignedWith ()

Acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que el comparador de vistas (real) exista y esté alineado en la parte superior con el comparador de vistas de destino.

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

Aquí, el caso de prueba asegura que la vista que tiene id, R.id.view existe y está alineada en la parte superior con la vista que tiene id, R.id.target_view

noEllipsizedText ()

Devuelve una aserción de vista, que garantiza que la jerarquía de vista no contenga vistas de texto elipsizado o cortado.

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

noMultilineButtons ()

Devuelve una aserción de vista, lo que garantiza que la jerarquía de vista no contenga botones de varias líneas.

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

noOverlaps ()

Devuelve una aserción de vista, que garantiza que el objeto descendiente asignable a TextView o ImageView no se superponga entre sí. Tiene otra opción, que acepta un comparador de vistas de destino y devuelve una aserción de vista, lo que garantiza que la vista descendiente que coincide con la vista de destino no se superponga.