1
00:00:00,210 --> 00:00:05,790
Bien, continuamos con un poco de inyección de dependencia en unit muy preció, como vimos en las pruebas

2
00:00:05,880 --> 00:00:07,680
repetidas repite Test.

3
00:00:07,770 --> 00:00:13,170
Se acuerdan cuando podían pasar un objeto del tipo repetir info que no permite saber en qué iteración

4
00:00:13,170 --> 00:00:14,700
estábamos del total?

5
00:00:14,820 --> 00:00:20,610
Una información extra que de alguna forma nos ayuda y da valor a nuestro código, a nuestro algoritmo,

6
00:00:20,670 --> 00:00:24,390
nos permite, por ejemplo, realizar algo distinto en cada prueba.

7
00:00:24,510 --> 00:00:28,620
Según esta información, también tenemos dos clases más o más que clase.

8
00:00:28,680 --> 00:00:33,750
Bueno, en realidad son implementaciones de interfaces de interfaz en particular.

9
00:00:33,810 --> 00:00:40,680
Una se llama Test Info que contienen toda la información de nuestra prueba unitaria del método del método

10
00:00:40,680 --> 00:00:41,010
test.

11
00:00:41,190 --> 00:00:47,400
Por ejemplo, el nombre método, la clase a la cual pertenece, lo que contiene el display name, por

12
00:00:47,400 --> 00:00:49,950
ejemplo, y sus etiquetas.

13
00:00:50,080 --> 00:00:56,220
En realidad es súper potente porque en cualquier método en particular, de acuerdo a las etiqueta que

14
00:00:56,220 --> 00:01:02,610
tenga, podría realizar o implementar algo distinto en la prueba, y eso nos da valor a nuestro código

15
00:01:02,790 --> 00:01:03,630
bastante útil.

16
00:01:03,750 --> 00:01:10,920
Y también tenemos la otra interfaz Test Repórter, un componente de unit que nos permite registrar en

17
00:01:10,920 --> 00:01:17,820
el log alguna cosa, alguna información que queramos anexar en la salida con un timestamp, una fecha.

18
00:01:17,970 --> 00:01:23,220
En fin, algo un poco más elaborado que un simple siste puntó punto print line.

19
00:01:23,430 --> 00:01:24,030
Mucho mejor.

20
00:01:24,170 --> 00:01:29,970
Bien, entonces vamos a ver estos dos tipos de objeto que implementan estas interfaces test, info y

21
00:01:29,970 --> 00:01:31,080
tests repórter.

22
00:01:31,180 --> 00:01:35,410
Qué parte de la inyección de dependencia de Junquito lo podemos utilizar bien?

23
00:01:35,520 --> 00:01:36,030
Dónde?

24
00:01:36,090 --> 00:01:40,110
Bueno, en cualquier método test, pero también en los métodos en común.

25
00:01:40,230 --> 00:01:43,410
En Before Izz y en actríz también podemos acceder.

26
00:01:43,620 --> 00:01:49,200
Bueno, vamos a partir primero acá en test nombre cuenta lo vamos a probar acá.

27
00:01:49,260 --> 00:01:57,660
Vamos a inyectar por ejemplo test, info, test, info, koma y tenemos test, reporta.

28
00:02:01,560 --> 00:02:08,250
Bien, vamos a partir primero contex info, pero lo vamos a imprimir a la salida estándar de sistema

29
00:02:08,370 --> 00:02:18,450
en la consola propone un ejemplo ejecutando dos punto test info punto díga tenemos varios meté importante.

30
00:02:18,450 --> 00:02:24,270
Como por ahí mencioné, tenemos el display name que lo podemos acceder, mostrar la información que

31
00:02:24,270 --> 00:02:24,720
tiene.

32
00:02:25,230 --> 00:02:28,720
Se fijan también el test class, el nombre de la clase test.

33
00:02:28,860 --> 00:02:32,460
El nombre del método que se está ejecutando y también los tags.

34
00:02:32,700 --> 00:02:40,680
Entonces, por ejemplo, bueno, podría ser test méto o display name, por ejemplo display name, un

35
00:02:40,680 --> 00:02:44,430
espacio test, info, punto.

36
00:02:44,640 --> 00:02:50,010
El método get test jetes método.

37
00:02:50,460 --> 00:02:55,830
Voy a bajar más con las etiquetas

38
00:02:58,500 --> 00:03:07,770
test, info, punto, gheto, tags se fijan información extra, vamos a imprimir eso, vamos a levantar,

39
00:03:07,860 --> 00:03:10,380
pero solamente este método.

40
00:03:10,560 --> 00:03:11,100
Vamos a ver.

41
00:03:11,700 --> 00:03:14,280
Entonces acá levantamos como siempre.

42
00:03:16,690 --> 00:03:22,960
Iniciando el método bueno, before it perfecto y después bueno, entremos al método ejecutando el nombre

43
00:03:23,140 --> 00:03:26,620
turalmente, imprime el display name de este método, el nombre.

44
00:03:26,800 --> 00:03:27,880
Y acá tenemos.

45
00:03:28,890 --> 00:03:29,850
El método completo.

46
00:03:30,870 --> 00:03:33,300
Se fijan, incluyendo el pacato.

47
00:03:35,250 --> 00:03:38,430
Este nombre cuenta y contó sus parámetros y con toda la información.

48
00:03:39,060 --> 00:03:41,370
Con todo, con las etiquetas, cuenta.

49
00:03:42,650 --> 00:03:49,330
Bueno, quizás imprimiré el nombre método retorna un optional, entonces podría obtener el yetta y esto

50
00:03:49,340 --> 00:03:53,150
devuelve un objeto del tipo probablemente método.

51
00:03:53,330 --> 00:03:54,800
Así que solamente un nombre.

52
00:03:54,830 --> 00:04:00,110
Pero no quiero tanta información, puede ser el nombre, las anotaciones, los parámetros.

53
00:04:00,140 --> 00:04:06,310
En fin, es como una reflexión del método toda la metadata del método uté que se está ejecutando entonces

54
00:04:06,330 --> 00:04:07,580
solamente el nombre.

55
00:04:07,910 --> 00:04:13,160
Acá pongo en boca inquieto un cierto puedo invocar acá el gillet, pero parece ya tiene otro método.

56
00:04:13,220 --> 00:04:20,660
Por ejemplo or else en caso de que se anul, por ejemplo el objeto podemos que devuelve un null o bien

57
00:04:20,900 --> 00:04:26,750
una prisión lanta y lo que retorna esa person Landau devolver en el optional o lanzar una acepción más

58
00:04:26,750 --> 00:04:27,380
personalizada.

59
00:04:27,380 --> 00:04:36,050
Se fijan, por ejemplo, en vez de get podría ser por else de acá null o algún objeto o alguna person

60
00:04:36,050 --> 00:04:36,380
landa.

61
00:04:36,740 --> 00:04:37,220
De acuerdo?

62
00:04:37,460 --> 00:04:39,260
Bien, ahora si le anotamos.

63
00:04:42,980 --> 00:04:48,950
Claro, mucho más limpio el nombre de de ese nombre cuenta el nombre método con las etiquetas cuenta

64
00:04:49,730 --> 00:04:50,020
bien.

65
00:04:50,060 --> 00:04:56,840
Pero claro, si necesito información del log para mostrar en el log lo podríamos hacer quizás en cada

66
00:04:56,840 --> 00:05:01,970
método y tendremos que estar copiando y pegando todo esto en cada método se fijan en cada metodo test.

67
00:05:02,240 --> 00:05:08,960
Bueno, no podríamos evitar eso si lo colocamos, si movemos todo este código que tenemos acá lo podría

68
00:05:08,980 --> 00:05:09,890
mover, no es cierto?

69
00:05:09,970 --> 00:05:16,790
Acá al init método test before it antes de cada método, no en el before hold, porque recuerden que

70
00:05:16,790 --> 00:05:19,610
estatico tiene que ser la instancia before it.

71
00:05:20,480 --> 00:05:26,650
Bien, entonces bueno, lo primero vamos a cortar esto, lo cortamos y lo movemos acá.

72
00:05:28,170 --> 00:05:28,710
Da lo mismo.

73
00:05:29,430 --> 00:05:33,150
Por acá bajamos también y vamos a cortar esto.

74
00:05:33,250 --> 00:05:38,730
Esto acá lo seleccionamos, lo cortamos y lo pegamos acá.

75
00:05:39,510 --> 00:05:40,930
Init Método test.

76
00:05:41,700 --> 00:05:42,330
Queda mejor.

77
00:05:42,840 --> 00:05:45,990
Entonces ahora levantamos y vamos a ver que funciona exactamente igual.

78
00:05:46,110 --> 00:05:47,520
Pero se aplica para todo.

79
00:05:47,640 --> 00:05:48,510
Para todos los métodos.

80
00:05:53,020 --> 00:05:58,870
Ahora, claro, si nos vamos al detalle de cada metodo, vamos a ver esto mismo te digan ejecutando

81
00:05:59,110 --> 00:06:01,870
dinero insuficiente con las etiquetas.

82
00:06:03,320 --> 00:06:04,070
Cuenta y error.

83
00:06:04,100 --> 00:06:05,990
Se acuerdan que tenía dos etiquetas?

84
00:06:07,200 --> 00:06:10,080
Bueno, vamos viendo, por ejemplo, cuenta operaciones.

85
00:06:10,170 --> 00:06:15,390
Acá están todos, cada uno, que son tres y todos de cuenta, excepto lo último que da cuenta Banco.

86
00:06:15,480 --> 00:06:16,800
Transferir dinero, cuenta.

87
00:06:17,860 --> 00:06:18,550
Acá explicamos.

88
00:06:18,580 --> 00:06:22,410
Recuerden que es una clase INER, después la versión.

89
00:06:23,660 --> 00:06:26,990
Este no tiene etiquetas por defecto.

90
00:06:27,950 --> 00:06:29,990
Despeine, dame ese nombre Méto.

91
00:06:30,290 --> 00:06:34,040
Así que en realidad el nombre método podría incluso estas demÃ.

92
00:06:34,280 --> 00:06:39,590
Podría incluso el estar de Málaga y meter solamente el display name si tiene el diploide que muestra

93
00:06:39,590 --> 00:06:41,750
la información y si no muestran nombre el método.

94
00:06:41,990 --> 00:06:43,370
Pero bueno, lo dejamos así.

95
00:06:43,570 --> 00:06:47,150
Lo mismo probando atributos de la cuenta corriente.

96
00:06:47,150 --> 00:06:47,720
Se acuerdan?

97
00:06:48,260 --> 00:06:49,370
Nombre el saldo.

98
00:06:50,550 --> 00:06:54,690
Y así, y por cada uno, ejecutando con toda la información.

99
00:06:57,100 --> 00:07:04,540
El saldo que no sea nulo, pero es parámetro izadas, ejecutando uno con el valor 200 y por cada uno.

100
00:07:11,140 --> 00:07:11,860
Podemos navegar?

101
00:07:13,460 --> 00:07:14,330
Acá el número 2.

102
00:07:17,980 --> 00:07:18,730
Número 2.

103
00:07:19,630 --> 00:07:20,310
Número 3.

104
00:07:20,400 --> 00:07:22,450
Controla información con las etiquetas.

105
00:07:22,510 --> 00:07:24,600
En fin, se fijan bien robusto.

106
00:07:25,900 --> 00:07:31,750
Y así hasta abajo, en Kmetko de dinero insuficiente, exception de saldo, cuenta.

107
00:07:33,610 --> 00:07:34,960
Lo mismo sin etiquetas.

108
00:07:35,350 --> 00:07:42,460
Ahora, qué pasa si quisiera acceder al test info o al test repórter en los métodos?

109
00:07:42,640 --> 00:07:48,940
Es decir, además de agregar esta información de forma global para todos los métodos en el init, en

110
00:07:48,940 --> 00:07:49,750
el before it.

111
00:07:49,840 --> 00:07:55,270
Pero además quiero acceder a las etiquetas para hacer algo distinto según la etiqueta que tenga cada

112
00:07:55,270 --> 00:07:55,680
método.

113
00:07:56,140 --> 00:08:02,320
Bueno, podríamos hacer lo siguiente Voy a copiar esto tal cual lo voy a copiar acá, lo pegamos acá.

114
00:08:03,790 --> 00:08:05,620
Atributos, punto y coma.

115
00:08:08,930 --> 00:08:11,740
Puntico dos atributos, dos atributos mal.

116
00:08:11,900 --> 00:08:12,910
Podría ser privat.

117
00:08:17,530 --> 00:08:28,720
Primerito y acá lo inicializamos, por ejemplo, tenemos cuenta y acá dice punto test ninfo, igual

118
00:08:28,840 --> 00:08:36,010
test info bessito Pasando lo que se pasa por argumento acá al atributo test info para que lo podamos

119
00:08:36,010 --> 00:08:37,660
utilizar en los demás métodos.

120
00:08:38,380 --> 00:08:52,540
En cada texto 3.o test repórter, repórter igual test reporta listo, ya lo tenemos.

121
00:08:53,110 --> 00:08:55,600
Ya podemos acceder a estos valores en cada uno.

122
00:08:56,750 --> 00:09:04,460
Por ejemplo, no sé, acá solamente la primera de nombre cuenta South des info.

123
00:09:05,090 --> 00:09:05,900
Acá lo tenemos.

124
00:09:06,350 --> 00:09:14,810
Punto get tags get tags retorna un set del tipo colección, incluso preguntar si contiene por ejemplo

125
00:09:14,930 --> 00:09:19,280
alguna etiqueta y hacer algo, pero por poner un ejemplo.

126
00:09:21,090 --> 00:09:23,310
Un if the.

127
00:09:23,670 --> 00:09:30,360
Info punto en que таких puntó contains no cierto se contiene la etiqueta.

128
00:09:30,450 --> 00:09:35,650
Bueno, sabemos que este contiene la etiqueta cuenta cuenta, no es cierto?

129
00:09:35,680 --> 00:09:36,840
Si la contiene perfecto.

130
00:09:37,200 --> 00:09:39,060
Hacemos algo shout.

131
00:09:44,960 --> 00:09:48,120
Os traigo con la etiqueta cuenta digase la contiene.

132
00:09:49,140 --> 00:09:50,460
Bueno, probemos.

133
00:09:51,000 --> 00:09:51,780
Levantamos.

134
00:09:53,910 --> 00:09:56,640
Realmente el método de origen cuenta.

135
00:09:56,670 --> 00:10:02,400
Si la contiene y entra LIF, por lo tanto, acá podremos implementar alguna tarea distinta en la pruebas.

136
00:10:02,640 --> 00:10:05,910
Si contienen tal etiqueta, cuenta o la que sea.

137
00:10:07,290 --> 00:10:07,820
Sí que está bien.

138
00:10:08,090 --> 00:10:09,820
Bien útil, bien robusto.

139
00:10:10,000 --> 00:10:10,660
Ahora qué más?

140
00:10:10,870 --> 00:10:11,350
Bueno, ya.

141
00:10:11,350 --> 00:10:13,810
Cómo es atributo de la clase principal?

142
00:10:13,930 --> 00:10:16,000
No, padre, porque una clase padre de la herencia.

143
00:10:16,030 --> 00:10:18,400
Pero la clase principal o raíz.

144
00:10:18,460 --> 00:10:24,730
Podemos utilizar estos atributos durante todas las clases anidadas y métodos, tal como lo hacemos acá.

145
00:10:26,900 --> 00:10:33,500
Pero también podríamos utilizar el test repórter para guardar en el log en vez de imprimir acá con el

146
00:10:33,620 --> 00:10:38,330
7.13 fija y mostrar esto lo podríamos hacer una forma más interesante.

147
00:10:38,840 --> 00:10:41,570
Entonces voy a quitar esto y lo voy a cambiar.

148
00:10:41,660 --> 00:10:44,540
Voy a colocar test repórter, test.

149
00:10:46,470 --> 00:10:55,000
Punto public entre publicar entrada en el blog, pero no es en el log de las aldeas Tandang no del SISTEN

150
00:10:55,000 --> 00:11:00,840
apuntó Apunto, sino desde la salida propia de unit del plataforma de forma automática.

151
00:11:00,960 --> 00:11:07,360
Al colocar esto se va a imprimir en la consola, pero utilizando la salida el sistema del log de unit.

152
00:11:07,980 --> 00:11:09,510
Bien, ejecutamos todo.

153
00:11:09,690 --> 00:11:12,540
Hacemos un clic fuera para que veamos como se muestra.

154
00:11:12,660 --> 00:11:18,270
Va a cambiar un poco en vez de decir esto va a ser un poco distinto con una fecha, con un teista.

155
00:11:21,540 --> 00:11:22,290
Levantamos.

156
00:11:24,370 --> 00:11:32,200
Se fijan con un tait thump la fecha valio el mensaje completo y asi por cada metodo.

157
00:11:33,350 --> 00:11:38,780
Es decir, si quiero ejecutar este método en cuestión, va a ser exactamente igual con este formato.

158
00:11:41,110 --> 00:11:48,310
El teista la fecha válido ejecutando el nombre del nombre, cuenta con las etiquetas cuenta de bueno

159
00:11:48,670 --> 00:11:54,400
imprime cuenta por su parte acá shout o hacer algo con la etiquetas, incluso acá en vez de utilizar

160
00:11:54,400 --> 00:12:02,200
el shout podrían utilizar el Terry vórtex punto public entre llega también.

161
00:12:03,880 --> 00:12:07,000
Test Repórter Bullit entre.

162
00:12:08,080 --> 00:12:09,700
Acá faltó.

163
00:12:11,770 --> 00:12:12,430
Punto.

164
00:12:12,550 --> 00:12:13,110
Tú, Stink.

165
00:12:14,830 --> 00:12:17,290
Acá no pide que sea un string.

166
00:12:17,680 --> 00:12:18,060
Listo.

167
00:12:18,790 --> 00:12:20,230
Ejecutamos el método nuevamente.

168
00:12:24,120 --> 00:12:29,940
Se fijan como un log de un log tributando el nombre cuenta hacer algo con la etiqueta cuenta, en fin,

169
00:12:30,150 --> 00:12:34,410
información o una bitácora para nuestro sistema de test y pruebas unitarias.

170
00:12:34,500 --> 00:12:37,750
Bien, lo dejamos hasta acá y continuamos en la siguiente clase.
