Bien, continuamos con un poco de inyección de dependencia en unit muy preció, como vimos en las pruebas
repetidas repite Test.
Se acuerdan cuando podían pasar un objeto del tipo repetir info que no permite saber en qué iteración
estábamos del total?
Una información extra que de alguna forma nos ayuda y da valor a nuestro código, a nuestro algoritmo,
nos permite, por ejemplo, realizar algo distinto en cada prueba.
Según esta información, también tenemos dos clases más o más que clase.
Bueno, en realidad son implementaciones de interfaces de interfaz en particular.
Una se llama Test Info que contienen toda la información de nuestra prueba unitaria del método del método
test.
Por ejemplo, el nombre método, la clase a la cual pertenece, lo que contiene el display name, por
ejemplo, y sus etiquetas.
En realidad es súper potente porque en cualquier método en particular, de acuerdo a las etiqueta que
tenga, podría realizar o implementar algo distinto en la prueba, y eso nos da valor a nuestro código
bastante útil.
Y también tenemos la otra interfaz Test Repórter, un componente de unit que nos permite registrar en
el log alguna cosa, alguna información que queramos anexar en la salida con un timestamp, una fecha.
En fin, algo un poco más elaborado que un simple siste puntó punto print line.
Mucho mejor.
Bien, entonces vamos a ver estos dos tipos de objeto que implementan estas interfaces test, info y
tests repórter.
Qué parte de la inyección de dependencia de Junquito lo podemos utilizar bien?
Dónde?
Bueno, en cualquier método test, pero también en los métodos en común.
En Before Izz y en actríz también podemos acceder.
Bueno, vamos a partir primero acá en test nombre cuenta lo vamos a probar acá.
Vamos a inyectar por ejemplo test, info, test, info, koma y tenemos test, reporta.
Bien, vamos a partir primero contex info, pero lo vamos a imprimir a la salida estándar de sistema
en la consola propone un ejemplo ejecutando dos punto test info punto díga tenemos varios meté importante.
Como por ahí mencioné, tenemos el display name que lo podemos acceder, mostrar la información que
tiene.
Se fijan también el test class, el nombre de la clase test.
El nombre del método que se está ejecutando y también los tags.
Entonces, por ejemplo, bueno, podría ser test méto o display name, por ejemplo display name, un
espacio test, info, punto.
El método get test jetes método.
Voy a bajar más con las etiquetas
test, info, punto, gheto, tags se fijan información extra, vamos a imprimir eso, vamos a levantar,
pero solamente este método.
Vamos a ver.
Entonces acá levantamos como siempre.
Iniciando el método bueno, before it perfecto y después bueno, entremos al método ejecutando el nombre
turalmente, imprime el display name de este método, el nombre.
Y acá tenemos.
El método completo.
Se fijan, incluyendo el pacato.
Este nombre cuenta y contó sus parámetros y con toda la información.
Con todo, con las etiquetas, cuenta.
Bueno, quizás imprimiré el nombre método retorna un optional, entonces podría obtener el yetta y esto
devuelve un objeto del tipo probablemente método.
Así que solamente un nombre.
Pero no quiero tanta información, puede ser el nombre, las anotaciones, los parámetros.
En fin, es como una reflexión del método toda la metadata del método uté que se está ejecutando entonces
solamente el nombre.
Acá pongo en boca inquieto un cierto puedo invocar acá el gillet, pero parece ya tiene otro método.
Por ejemplo or else en caso de que se anul, por ejemplo el objeto podemos que devuelve un null o bien
una prisión lanta y lo que retorna esa person Landau devolver en el optional o lanzar una acepción más
personalizada.
Se fijan, por ejemplo, en vez de get podría ser por else de acá null o algún objeto o alguna person
landa.
De acuerdo?
Bien, ahora si le anotamos.
Claro, mucho más limpio el nombre de de ese nombre cuenta el nombre método con las etiquetas cuenta
bien.
Pero claro, si necesito información del log para mostrar en el log lo podríamos hacer quizás en cada
método y tendremos que estar copiando y pegando todo esto en cada método se fijan en cada metodo test.
Bueno, no podríamos evitar eso si lo colocamos, si movemos todo este código que tenemos acá lo podría
mover, no es cierto?
Acá al init método test before it antes de cada método, no en el before hold, porque recuerden que
estatico tiene que ser la instancia before it.
Bien, entonces bueno, lo primero vamos a cortar esto, lo cortamos y lo movemos acá.
Da lo mismo.
Por acá bajamos también y vamos a cortar esto.
Esto acá lo seleccionamos, lo cortamos y lo pegamos acá.
Init Método test.
Queda mejor.
Entonces ahora levantamos y vamos a ver que funciona exactamente igual.
Pero se aplica para todo.
Para todos los métodos.
Ahora, claro, si nos vamos al detalle de cada metodo, vamos a ver esto mismo te digan ejecutando
dinero insuficiente con las etiquetas.
Cuenta y error.
Se acuerdan que tenía dos etiquetas?
Bueno, vamos viendo, por ejemplo, cuenta operaciones.
Acá están todos, cada uno, que son tres y todos de cuenta, excepto lo último que da cuenta Banco.
Transferir dinero, cuenta.
Acá explicamos.
Recuerden que es una clase INER, después la versión.
Este no tiene etiquetas por defecto.
Despeine, dame ese nombre Méto.
Así que en realidad el nombre método podría incluso estas demÃ.
Podría incluso el estar de Málaga y meter solamente el display name si tiene el diploide que muestra
la información y si no muestran nombre el método.
Pero bueno, lo dejamos así.
Lo mismo probando atributos de la cuenta corriente.
Se acuerdan?
Nombre el saldo.
Y así, y por cada uno, ejecutando con toda la información.
El saldo que no sea nulo, pero es parámetro izadas, ejecutando uno con el valor 200 y por cada uno.
Podemos navegar?
Acá el número 2.
Número 2.
Número 3.
Controla información con las etiquetas.
En fin, se fijan bien robusto.
Y así hasta abajo, en Kmetko de dinero insuficiente, exception de saldo, cuenta.
Lo mismo sin etiquetas.
Ahora, qué pasa si quisiera acceder al test info o al test repórter en los métodos?
Es decir, además de agregar esta información de forma global para todos los métodos en el init, en
el before it.
Pero además quiero acceder a las etiquetas para hacer algo distinto según la etiqueta que tenga cada
método.
Bueno, podríamos hacer lo siguiente Voy a copiar esto tal cual lo voy a copiar acá, lo pegamos acá.
Atributos, punto y coma.
Puntico dos atributos, dos atributos mal.
Podría ser privat.
Primerito y acá lo inicializamos, por ejemplo, tenemos cuenta y acá dice punto test ninfo, igual
test info bessito Pasando lo que se pasa por argumento acá al atributo test info para que lo podamos
utilizar en los demás métodos.
En cada texto 3.o test repórter, repórter igual test reporta listo, ya lo tenemos.
Ya podemos acceder a estos valores en cada uno.
Por ejemplo, no sé, acá solamente la primera de nombre cuenta South des info.
Acá lo tenemos.
Punto get tags get tags retorna un set del tipo colección, incluso preguntar si contiene por ejemplo
alguna etiqueta y hacer algo, pero por poner un ejemplo.
Un if the.
Info punto en que таких puntó contains no cierto se contiene la etiqueta.
Bueno, sabemos que este contiene la etiqueta cuenta cuenta, no es cierto?
Si la contiene perfecto.
Hacemos algo shout.
Os traigo con la etiqueta cuenta digase la contiene.
Bueno, probemos.
Levantamos.
Realmente el método de origen cuenta.
Si la contiene y entra LIF, por lo tanto, acá podremos implementar alguna tarea distinta en la pruebas.
Si contienen tal etiqueta, cuenta o la que sea.
Sí que está bien.
Bien útil, bien robusto.
Ahora qué más?
Bueno, ya.
Cómo es atributo de la clase principal?
No, padre, porque una clase padre de la herencia.
Pero la clase principal o raíz.
Podemos utilizar estos atributos durante todas las clases anidadas y métodos, tal como lo hacemos acá.
Pero también podríamos utilizar el test repórter para guardar en el log en vez de imprimir acá con el
7.13 fija y mostrar esto lo podríamos hacer una forma más interesante.
Entonces voy a quitar esto y lo voy a cambiar.
Voy a colocar test repórter, test.
Punto public entre publicar entrada en el blog, pero no es en el log de las aldeas Tandang no del SISTEN
apuntó Apunto, sino desde la salida propia de unit del plataforma de forma automática.
Al colocar esto se va a imprimir en la consola, pero utilizando la salida el sistema del log de unit.
Bien, ejecutamos todo.
Hacemos un clic fuera para que veamos como se muestra.
Va a cambiar un poco en vez de decir esto va a ser un poco distinto con una fecha, con un teista.
Levantamos.
Se fijan con un tait thump la fecha valio el mensaje completo y asi por cada metodo.
Es decir, si quiero ejecutar este método en cuestión, va a ser exactamente igual con este formato.
El teista la fecha válido ejecutando el nombre del nombre, cuenta con las etiquetas cuenta de bueno
imprime cuenta por su parte acá shout o hacer algo con la etiquetas, incluso acá en vez de utilizar
el shout podrían utilizar el Terry vórtex punto public entre llega también.
Test Repórter Bullit entre.
Acá faltó.
Punto.
Tú, Stink.
Acá no pide que sea un string.
Listo.
Ejecutamos el método nuevamente.
Se fijan como un log de un log tributando el nombre cuenta hacer algo con la etiqueta cuenta, en fin,
información o una bitácora para nuestro sistema de test y pruebas unitarias.
Bien, lo dejamos hasta acá y continuamos en la siguiente clase.