Bien, continuemos la idea de esta clase.
Probar la clase, cuenta.
Bueno, valga la redundancia, una clase bastante simple con algunos atributos metodo intrÃnseca.
La idea es probar lo simple que tenemos, pero un par de escenarios, no solamente por ejemplo, metodo
nyet, también podría implementar un constructor B como se están pasando los parámetros.
En fin.
Y así vamos complementando y probando estos métodos en nuestra clase, cuenta.
Y por supuesto en el banco.
Así que comencemos con verificar, afirmar que esté funcionando bien.
Recuerden siempre nuestro package main yaba.
Acá tenemos todo nuestro código.
Nuestras clases.
Nuestra aplicación y test yaba.
Nuestra clase de prueba.
Todo lo que sigue Yannick.
Acá vamos a correr los test.
Así que mucho cuidado con de repente equivocarse y crear la clase de desarrollo acá en test.
No solamente acá se crean y acá se prueban y tenemos diferentes caminos para crear una clase test.
Podemos utilizar herramientas del IDE que automatiza y nos permite crear una clase test mucho más rápido,
pero también la podríamos crear manual.
Acá, por ejemplo, antes yaba crear el package podría tener el mismo nombre de package que tenemos
acá y crear nuestra clase de test.
Estaría perfecto, pero otra forma es decir acá a nuestra clase que queremos probar que está en este
package.
Por ejemplo, hacemos un clic en cuenta o qué parte?
Por ejemplo, acá y con Al Insert nos permite crear acá un texto, una clase test.
Otra forma, también otro tajo es igual, pero con alt enter se fijan un clic acá alt enter y también
crea texto.
Hacemos un clic.
Y lo automatiza, bueno, de forma automática detecta que estamos con Johnny 5, pero también podríamos
configurar, por ejemplo Yuni 4, Yuni 3 o bien otro framework.
Pero bien, ya tenemos Yuni 5, con lo cual vamos a traja en el curso.
Y acá tenemos opciones.
Por ejemplo, generar algún método del ciclo de vida, por ejemplo before after.
Pero no importa eso.
Después vamos a ver.
Por ahora lo dejamos así, sin marcar.
También podemos marcar método que queremos probar.
Eso lo vamos a hacer de forma manual.
Por ahora solamente vamos a crear la clase.
Propone un nombre, cuenta texto por convención de nombre, una clase test por convención no es obligación,
pero como buena práctica diré llevar el mismo nombre que la clase que estamos probando.
Por ejemplo, cuenta y con Kamel Keys agregamos el sufijo test con mayúscula text se fijan cuenta test,
ese nombre que debería tener.
Ok.
Se fijan y automáticamente crea el pacato mismo рамках que tenemos acá.
Se fijan acá, pero también lo quería acá y dentro.
Este package crea la clase.
Y agrega un import static de Acechas.
Después vamos a ver básicamente para validar verificar que nuestro código sea el que esperamos.
El correcto.
Se acuerdan?
Expectativas versus realidad.
Ahí lo vamos a ver.
Hay diferentes tipos de hacer chains para afirmar.
Afirmar que es igual a un valor esperado.
Afirmar que un valor o una expresión booleana es true o también hacer false también.
O not es.
También podríamos verificar que no es igual de vigen igual o no igual, cosa que vamos a ver.
Bien, entonces recuerden, una forma es automatizar, crear utilizando nuestro IDE, nuestra herramienta
con alt enter también con alt insert y lo creamos.
Otra forma, como había explicado crear el pacato por convención también.
Mismo nombre del package de la clase en Java se crea el paquete y creamos la clase cuenta texto por
convención.
Sería lo mismo, pero acá un poco más automático y acá podríamos tener métodos.
También lo podríamos crear de forma manual.
Por ejemplo, void método test cualquier nombre y listo.
Pero qué faltaría.
Porque en realidad este es un método test que no está configurado, no le está informando a la plataforma,
al test en ÑANE de unit.
Lo tienes que ejecutar este método como una proletaria.
Entonces, para eso tenemos que indicar que es un método que se tiene que ejecutar, una prueba que
se va a ejecutar en el runner.
Para eso utilizamos una anotación vamos a subir y con el a година la anotación test test de Fijándote
or Yuni Júpiter, la versión 5 con la cual estamos trabajando.
Si estuviéramos trabajando con la 4, por ejemplo, sería solamente or punto Yuni to punto test.
Importamos de Júpiter y Alecto.
Ahí tenemos un método.
Si se fijan, la clase tiene un modificador default, igual que el método.
Como buena práctica tiene que ser un método default o también como se conoce en Java de рамках privado
de pacato.
Es decir, que solamente lo podemos utilizar dentro del contexto del package de texto de prontuario
y que no sepa acceder en todas partes, en todo nuestro código.
Entonces por eso hay que evitar que sea public.
Como buena práctica solamente quiere encapsulado dentro de contexto de ejecución de pruebas.
De hecho, si quitamos este método puedes seleccionar lo quitamos un atajo.
Por ejemplo con alt insert crear un método testes método.
También nos permite crear un método de ciclo de vida.
Después lo vamos a ver.
Entonces test método method hacemos un clic.
Automáticamente se fijan test void realmente para ejecutar una prueba y le indicamos el nombre.
Por ejemplo test test nombre cuenta
algo descriptivo.
Bueno, podrían colocar solamente test, pero después vamos a ver que en la bitácora cuando se ejecutan
los test en el reporte va a mostrar el nombre método.
Y bueno, y si falló o no falló con todo el detalle, entonces siempre podemos dar un poco de detalle.
Muchos desarrolladores de pruebas unitarias colocan, por ejemplo John Pajo cuenta y lo mismo acá.
Es decir, no utilizan la convención de nombre Kamel Key, sino con un bajo para que sea más fácil de
leer en el reporte.
También es válido, pero solamente para planetaria, no para desarrollo.
Pero también existe otra alternativa.
Una anotación que después vamos a ver display name.
Es decir, en vez de utilizar el nombre método como nombre de test o descripción del test, podemos
utilizar esta anotación Colocar el texto que queramos largo, incluso mucho más descriptivo.
Pero bueno, por ahora eso después vamos a ver, lo dejamos como lo teníamos.
Nombre, cuenta, test, nombre, cuenta o prueba, nombre cuenta como queramos o probando nombre cuenta.
Hasta momento no hemos hecho nada, no estamos filmando, no estamos validando, verificando nada.
Entonces lo siguiente tendremos que preparar nuestra propia tarea.
Primero, instanciar la clase que queremos probar.
Cuenta entonces el tipo cuenta, cuenta igual new cuenta.
Bueno, acá lo tenemos.
Eso es lo primero.
Bueno, podríamos implementar el constructor, pasar el nombre, pasar el saldo.
También pide pedir constructor.
Eso después lo vamos a ver.
Tenemos que pasar datos.
Recuerden los input datos de prueba.
Tenemos que probar, cierto?
Entonces conceto persona le damos un nombre, por ejemplo Andrés Listo.
Quiero probar si realmente estamos pasando bien.
El parámetro bueno en el código se generó fue automática lo que transe.
Así que debería ser así, pero como digo, podríamos tener diferentes cenario ahora, cómo puedo validar
esto correctamente?
Afirmar que es cierto.
Recuerden siempre unitaria.
Vamos a tener un valor esperado o una expectativa, por ejemplo, bueno, del tipo string esperado.
Igual vamos a colocar Andrés.
Versus realidad string también actual, actual o real real.
Bueno, Real Syria cuenta de nuestro código de clase que queremos probar qué persona ahora esperado
es igual a real.
Bueno, hay que ver.
Mientras no firmemos nada, el test va a ser correcto.
Es decir, mientras no haya alguna noticia, sea buena o sea mala.
Si no se afirma, si no se verifica nada.
Es decir, si no se utiliza hacer John's.
En realidad el test va a ser correcto.
De hecho, lo podríamos probar.
Lo podríamos ejecutar para ejecutar nuestro test.
Simplemente en la clase test podríamos ejecutar el método haciendo un clic acá o haciendo un clic acá
para que ejecute todos los métodos test de la clase o bien con el atajo.
Control Cheff F10 se fijan.
Voy a ejecutar.
Ya está probando.
Cuenta Test, la clase, punto el método.
Y si se fijan, está todo correcto.
Acá prueba, cuenta test.
El método y no hay ninguna noticia de que ha pasado algo si no está todo bien, pero en realidad no
estamos probando nada.
Entonces tengo que utilizar el API métodos estáticos de la clase acepciÃn.
Por eso se importÃ con static una clase estática.
Y simplemente podemos acceder a estos métodos Dessert John's de forma directa, como si fueran parte
de esta clase.
De hecho acabo de comentar, después lo comento solamente para que lo vean hacer John's punto vuestro
punto y de forma automática se va a importar.
De hecho, ya se importó acá, pero nos importó de forma estática, solamente se importó la clase.
Entonces tengo que invocar el punto, los método estático para poder probar llega.
Tenemos todos los métodos hacer ol array y quarts.
Si queremos probar un arreglo se fijan un arreglo esperado versus uno actual o real.
En fin.
Pero quiero hacer un hacer.
John's acerto.
Y cual es para que estos dos valores sean iguales?
El esperado expected acá dice expected y el actuar esperado koma actuar.
No le pusimos actual le pusimos real fican.
Listo, ahí lo tenemos.
Ahí tenemos nuestra prueba.
Ahora puse esto de forma explícita para que se note, pero podría colocar perfectamente bien 3.
Acá lo copio y lo pego.
Y esto acá también lo movemos acá.
Sería lo mismo.
Vamos a ejecutar entonces igual.
Control Chiefs F10, una forma.
Y está correcto.
Ahora sí que sí.
Estamos pasando un nombre de cuenta a nuestro objeto.
Cuenta y es el que esperamos que sea.
Andrés Vamos a cambiar el código.
Qué pasa si comentamos se persona acá?
Lo comentamos con control, por ejemplo, y es el latch de forma automática.
Listo.
Hoy te he comentado vamos a ejecutar.
Bueno Andrés en Nul, por lo tanto no va a ser igual y va a marcar un error.
Ese podría ser un escenario de prueba.
Ejecutar bueno, con las teclas, como ya he comentado también acá.
Volvemos a ejecutar.
Hacemos un clic.
Y falla, se fijan esperado Andrés.
Acá lo tenemos, pero en realidad fue nul porque no lo asignamos.
Buen punto.
Ahora, qué pasa si nos vamos a la clase?
Cuenta.
Control Tuff y acá la buscamos, la seleccionamos, cuenta.
Vamos a crear un constructor con alt insert.
Perfecto.
Pero solamente vamos a pasar el sĂłlo.
Por ejemplo, estamos desarrollando.
Creamos el constructor.
Pasamos un salto, un pic decimal, pero nos estamos pasando.
Persona Probablemente estamos pasando persona, pero se nos dio asignarle un valor.
Se fijan.
De hecho, acá podemos colocar strict
persona coma no cierto y listo.
Y si nos vio pasar persona en el código, eso pasa si dejan.
Entonces bueno, habría que probar.
Acá nos piden los datos, los input.
Vamos a colocar Andrés un bit decimal.
No sé, por ejemplo un número mil coma uno dos tres cuatro cinco.
Ahora, cuando tratamos con decimales ya sí podemos colocar acá la coma, pero es mucho mejor por un
tema de precisión como un string, colocar el número como un string, con la coma, con el punto, porque
si no estamos pasando un punto flotante, un doble o un doble, y tiene sus limitaciones en tamaño,
en capacida y también precisión con los decimales, entonces es mucho mejor pasar en número decimal
en una cadena del tipo String.
Entonces acá colocamos comillas de string y acá también comilla.
Entonces.
Bit decimal mil coma uno dos tres, cuatro cinco.
Un valor X.
Perfecto.
Vamos a ejecutar.
A ver qué pasa.
Se fijan, implementamos constructor, pero por alguna razón se nos dio sin dar el nombre y sigue siendo
un actual actual en Nul esperado Andrés.
Entonces volvemos al código porque tenemos que solucionar este problema.
Control TAF nos vamos a cuenta y bueno, debajo tiz punto persona igual personaa control ήταν.
Volvemos y volvemos a ejecutar.
Ah, perfecto.
Ahí pasó la prueba.
Y esa es la idea.
Entonces ahora estamos prontos no solamente en Método Set, que está correcto, ya lo sabemos, sino
también estamos probando el constructor.
Tuvimos una falla, la corregimos, volvimos a ejecutar, nos percatamos de ello y quedó solucionado.
Cómo queremos hacer y cuál es?
Bueno, también tenemos otro más.
Otros acertaron a ser chón.
Es afirmar un valor que sea el correcto el que estamos operando.
Había dejado en stand by el import estático en vez de colocar, por ejemplo, hacer un punto el método
estático.
Bueno, podría quitar esto se fijan en nombre de la clase.
Acá marca en rojo y es porque comentamos esto.
Lo comentamos, pero lo voy a comentar y este de acá lo voy a quitar.
En realidad esto no nos está utilizando.
Entonces lo quitamos, lo borramos y listo.
Ahora podemos utilizar el método de hacer acechas como si fuera propio de la clase.
Por qué estamos importando tantos métodos estáticos dentro de clase con Static?
Bien, listo.
Ahí lo tenemos.
Va a funcionar.
Así que está bien.
Acerto ahora, en vez de utilizar el equals, vamos a utilizar Trou solamente le permite pasar el valor
una prisión booleana.
En realidad, true o fors esperamos que sea true debidas el thru y para que pase la prueba no cierto
troop real que persona punto es nombre punto equals Andrés.
No se preocupen, acá el IDE muestra una notificación, una advertencia de que dice bueno, está probando
con el equals, es mucho mejor que lo pruebes con el hacer y quarts en vez de hacer true con el con
el método y se da cuenta se fijan en sentido e inteligente.
Pero lo quería probar para que vean que podemos probar con equals y con hacer thru y dentro del hacer
thru una expresión plena cualquiera que queremos afirmar.
Y ejecutamos.
Entonces, recuerden, también se puede ejecutar con click derecho rantes.
Acá.
Sigue siendo correcto.
Ahora, si colocamos André, por ejemplo, distinto, entonces ésta va a fallar.
Pero esta no. Pero si falla al menos un acerc John's dentro de un método.
El método falló.
En realidad es todo o nada.
Ejecutamos.
Fallo se fijan esperaba Thru, pero en realidad fue fols porque Andrés el valor real que tiene acá se
deja en cuenta Andrés no es igual a este de acá.
André porque le falta la dice colocábamos acá Andrés.
Y si en la clase cuenta colocábamos por ejemplo persona punto tu a parqués convertimos mayuscula.
Algo que tenemos en el código es todo acá.
Lo de quitar esto es distinto, no es igual de que son todo tipo de string 1 mayúscula y otro en minúscula.
Lo vamos a probar.
A pesar de que pasamos Andrés y acá también Andrés y acá también Andrés, debería estar correcto, pero
dentro de código se está convirtiendo.
Control Alt, F10, control Chiffre de ellas se fijan distinto esperado en 3, pero en realidad con
mayúscula.
Se nos permite manejar diferentes scenario y se está controlando bien.
Si se está pasando bien los parámetro estamos simulando falla.
En fin, cosas que tenemos que probar en nuestras pruebas unitarias.
Bueno, todavía falta el saldo, no es cierto?
Y vamos a agregar más método, vamos a ir completando nuestro código.
Lo que sí voy a regresar a cuenta y lo deja como estaba.
Lo dejamos hasta acá y continuamos en la siguiente clase.