Mockito: pruebas de unidades | Programming Made Easy | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Mockito: pruebas de unidades

teacher avatar Programming Made Easy, Software Developer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      ¡Bienvenido a este curso!

      1:32

    • 2.

      Cómo instalar JDK

      7:16

    • 3.

      Cómo instalar IDEA

      3:14

    • 4.

      ¿Qué es burlar?

      10:54

    • 5.

      Mira rápido un proyecto de Mockito

      6:58

    • 6.

      Cómo configurar tu primer proyecto de Mockito

      16:32

    • 7.

      Cómo especificar valores de retorno

      4:24

    • 8.

      Comprobar el comportamiento

      20:16

    • 9.

      Verificar el rango de llamadas de métodos

      8:16

    • 10.

      Clase inOrder

      5:40

    • 11.

      Matchers de argumentos

      5:12

    • 12.

      Espías

      5:33

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

48

Estudiantes

--

Proyecto

Acerca de esta clase

Hola y bienvenido a todo el curso sobre la última iteración de marco de Mockito

En este curso vamos a empezar desde cero y en primer lugar crear nuestro entorno para escribir código Java y, además, probar nuestros métodos usando este marco.

Luego presentaré la teoría detrás de burlones y los diferentes tipos de burlones que hay. De esta manera podemos entender mejor cómo y por qué es útil este proceso, no solo como programadores independientes o autónomos, sino que también constituyen una gran ventaja en tu currículum y algo importante para conocer los detalles y las entradas.

Además, vamos a profundizar en el código para que puedas empezar lo más rápido posible. Utilizaré un ejemplo de un proyecto Java sencillo pero práctico para mostrarte una variedad de técnicas de burlas. También aprenderás las mejores prácticas y estándares de codificación para pruebas unitarias en función de mi experiencia en desarrollo.

Cómo escribir grandes pruebas de unidades distingue buenos programadores de grandes programadores. En este curso aprenderás cómo escribir grandes pruebas de unidades Java con Mockito y JUnit.

Según estadísticas, la mayoría de los desarrolladores de Java usan Mockito cuando escriben pruebas para aplicaciones de Java. Es una habilidad básica que se hizo necesario, por lo que si quieres comenzar tu carrera de Java Developer o llevarla a otro nivel, tendrás que escribir pruebas unidades. Con Mockito, los escribirás mejor y más rápido.

Así que con todo lo que se dice, creo que estás listo para empezar a aprender este marco a pedido.

Conoce a tu profesor(a)

Teacher Profile Image

Programming Made Easy

Software Developer

Profesor(a)

Habilidades relacionadas

Desarrollo Lenguajes de programación Java
Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Te damos la bienvenida a este curso.: Hola chicos y bienvenidos a este curso sobre el marco de pruebas de unidades Java, Mockito. llamo alzas y soy ingeniero de software que ha estado usando este framework en mi flujo de trabajo de codificación desde hace bastante tiempo, cuando oí hablar de la posibilidad de crear un curso para explicar más sobre su uso y también beneficios. Estaba bastante ansioso por desarrollar uno. Esta clase se estructurará en 11 lecciones que pueden hacer ping pasos prácticos para que usted tome con el fin entender exactamente lo que se puede hacer con Mockito, primero evolucionaré mostrarle cómo configurar un local ambiente en tu máquina con Mockito en ella. Entonces echaremos un vistazo más de cerca a todas las formas en que estos dos nos facilitan las pruebas unitarias. Cosas como especia, emparejadores de argumentos, las funciones en orden y verificación, especificando valores de retorno para métodos y así sucesivamente. Si te interesa mejorarte camino alrededor de las pruebas unitarias en Java, este curso es para ti. No hay otros requisitos previos después una computadora con conexión a Internet. En cuanto al proyecto de esta clase, será extremadamente práctico y te implicará seguir los pasos presentados durante este curso. Para que puedas comenzar en tu viaje de escribir pruebas unitarias para el código que estás desarrollando usando Java. Pensamos, dijimos, creo que ya te vemos en la primera lección. 2. Instalación del JDK: Chicos, bienvenidos de nuevo a este tutorial. En este tutorial, vamos a empezar a aprender por supuesto, preparando nuestro entorno en nuestra máquina local. Entonces, en primer lugar, por supuesto, al ser el framework que está usando código Java, necesitamos asegurarnos de que tengamos el JDK instalado en nuestra máquina local. Entonces el PIB proviene del SDK de Java. Sdk proviene del kit de desarrollo de software. Para este tutorial. Vamos a utilizar la versión de un punto punto 01 para Java 16. En primer lugar, debes asegurarte tener estos JDK instalados en tu computadora. Ahora, tengo aquí una máquina Windows. ¿ Cómo verificarías si tienes este JDK ya instalado en tu computadora o no lo tienes, solo necesitas ejecutar tu CMD. Entonces tu símbolo del sistema con administración, y luego escribe en cada versión de dash java. Como se puede ver, no lo tengo instalado. Y lo que trae en mi pantalla es que Java no se reconoce como un comando interno o externo, no está instalado. De esta manera puedes confirmar que no lo tienes instalado. Si hubiera sido instalado, el mensaje sería algo así como versión Java y luego te dirá la versión, luego algunos otros mensajes agrícolas. Pero ahora que sabemos que no lo tenemos instalado, vamos a ir en la tienda de imágenes. Si ya lo tienes instalado, puedes saltar al siguiente paso que va a ser en unos minutos. Pero por ahora, cómo lo instalarías sería ir al enlace que proporcioné en esta pantalla aquí mismo, y eso es oracle.com, tecnologías Java. Java SE descarga el HTML. Esto se puede ver tenemos aquí el trabajo de descargas Java SE, veo 16. Y podemos hacer click debajo del Oracle JDK en JDK descarga. Ahora nos redirigirá al Java Development Kit 60. Por lo que ves Java SDK y luego desplazándote hacia abajo, puedes elegir la versión para tu sistema operativo, en mi caso, es un Windows 64 beats, por lo que es la versión aquí mismo. Seleccionaré directamente los archivos ejecutables para que podamos seguir y revisar el acuerdo, luego haga clic en Descargar. Se puede ver que el ejecutable en realidad se está descargando en este momento. En tan solo unos segundos, se hará para que podamos hacer clic en el clavo. Y como lo pueden ver iniciando esta instalación, bienvenidos a la instalación. Podemos hacer click en Siguiente. Ahora, el baño por defecto donde lo instalaría. Y te sugiero que lo dejes SEC es Archivos de Programa C, Java, dish, y luego la versión JDK de la misma. El motivo por el que les digo que lo dejes de esta manera es porque posteriormente estaremos estableciendo algunas variables del entorno. El spec. Y si lo cambias, vas a necesitar recordar que Beth ha cambiado los dos y tenerlo puede estar basado en el documento del Bloc de notas. Pero por ahora solo podemos seguir y hacer clic en Siguiente. Y como se puede ver, básicamente comenzará a instalar sea GDK, que estaba completamente instalado. Podemos cerrarla. Y así así, se hace el primer paso de este tutorial. El segundo paso, como dije, necesitamos establecer una variable de entorno, más específicamente la variable de entorno doméstico Java. Y tenemos que apuntarlo al baño donde detenemos estos JDK. Entonces para hacer eso, debes ir al botón Buscar, luego escribir las variables de entorno del sistema. Haga clic en Entrar. Entonces aquí sobre variables de entorno. Entonces podemos hacer click en Nuevo. Entonces tenemos el nombre de la variable, que va a ser Java bajo casa, y luego el directorio de navegación. Y entonces el directorio va a BSA dijo Local Disk C Program Files, y luego por supuesto Java, y luego este JDK por la deuda, nos consiguió. Entonces esto va a estar bien. Y como se puede ver aquí, ahora se agrega la variable de sistema doméstico Java y el valor de la misma es la Beth real. Ahora podemos además, aparte de agregar la variable de sistema de Java home con el valor de la ruta aquí en bat, necesitamos editar esto y también agregar nuevo. Y luego necesitamos gráficos para la deuda de la carpeta bin con edit aquí. Y luego como se puede ver, el Java JDK y estas carpeta de estar justo aquí después de que llegué, iniciaron mi computadora. Porque si no lo reinicias, no podrás ver que el Java instalado cuando lo reinicies e ingresas java dash version, puedes ver que en realidad te dice alguna información sobre los atributos y específicamente el hecho de que el JDK instaló con éxito en su computadora. Una vez más, agregué a las variables del sistema en Java subrayado home establecido a la ruta donde se instaló el GDK y lo agregué a la parte posterior. Entonces las variables de usuario para tu usuario, luego haces clic en él, haz clic en Editar, y luego en el nuevo navegador, y luego en la carpeta bin de la respiración de instalación JDK. Si lo haces después de instalar el JDK que obtienes desde este enlace, vas a instalar correctamente el JDK en tu computadora y completar los dos primeros pasos. Por ahora. Esto fue sobre el Enter. Les agradezco muchísimo chicos por quedarse conmigo hasta el final de esta conferencia. 3. Instalación de IntelliJ IDEA: Hola chicos y bienvenidos de nuevo al tutorial. Para este tutorial, necesitamos obviamente tener un IDE en el que podamos saltar código. Y para eso vamos a utilizar la idea IntelliJ IDE, que mi opinión es el mejor IDE para java por ahí. Pero solo podemos empezar a crecer para inteligentes y luego hacer clic en la página web Download on JetBrains. Esto te redirigirá a la descarga de la idea de Intel G. Ahora por supuesto que vamos a utilizar la versión comunitaria. No lo último es no escribir código para ella empresa. Sólo vamos a utilizar estos desde la comodidad de nuestros propios hogares. Pero si quieres hacer eso por todos los medios, si tienes una empresa o algo así, puedes ir por lo último. Es sólo que para este tutorial, vamos a ir con las ventanas dot EXE. Y como se puede ver, la descarga básicamente comenzó. Voy a volver con ustedes una vez que termine. De acuerdo, así que estoy de vuelta que Intel ha sido descargado cuentas y ahora cuando hacemos clic en estos archivo ejecutable, vamos a ser recibidos por unos procesos de instalación. Se puede ver el fin de semana de configuración simplemente seguir en la instalación. Se come nuestra carpeta de destino predeterminada en la unidad C. Ahora, la longitud de 64 bits es lo que vas a necesitar para seleccionar aquí. Entonces vamos a asociar con ello los archivos Java. Entonces podemos actualizar el menú contextual, editar la Carpeta Abierta es proyecto. Los lanzadores directorios a la cama. No creo que eso sea necesario es que vamos a abrir las cosas desde la aplicación real para que podamos seguir y hacer clic en Siguiente y después instalarlo. Después de que se haya instalado, te van a saludar con estas ventanas finales. Y se puede optar por ejecutar Intel J después de estos realmente terminados de instalar y podemos hacer click en deuda. Confirmamos que hemos leído y pulsamos en Continuar. Se puede ver que el Intel G ID se va a abrir en este momento. Y nos pedirá abrir un proyecto o crear uno nuevo. Y luego por supuesto, algunos plug-ins en la ventana de personalización con respecto a Temas de Color y cosas así. Entonces esto fue por ello con la instalación de GID para el trabajo que vamos a utilizar en este tutorial. Es un WordPress bastante simple y recto es, pero pensé que debería hacer el tutorial sobre estos solo para asegurarme de que ustedes estén al tanto de la forma en que se van a poner en marcha. Ojalá hayas sacado algo de este tutorial, y realmente espero verte en el siguiente. Muchas gracias por seguir conmigo hasta el final de esta conferencia. 4. ¿Qué es la maqueta?: Hola chicos y bienvenidos de nuevo a este tutorial de Mockito donde entendemos cómo podemos mejor contra nuestros métodos Java usando estos framework de pruebas. En esta conferencia, vamos a echar un vistazo a algunas nociones teóricas sobre burlas. Justo antes de sumergirnos profundamente en el marco de pruebas de Mockito y entendemos cómo podemos escribir código para probar nuestros métodos. Vamos a cubrir algunas cosas básicas como lo que se burla, lo que se debe marcar, diferentes tipos de marcas y este tipo de cosas. Simplemente para poder tener un buen conocimiento de ellos antes de aplicarlo. Entendemos el proceso al que vamos a ir donde escribir el código real en nuestros identificadores. Ahora en términos simples, el proceso de marcado se refiere a proporcionar control, instancia o implementación, o incluso dependencia de la que depende el código bajo prueba. Con el fin de probar cada lógica de núcleo. En el caso de nuestra primera aplicación Mockito, la silla va a mirar en la próxima conferencia de la sección antes de entrar en características más detalladas de Mockito, te voy a presentar un básico aplicación utilizando Mockito y en aplicación de deuda. El método que será referenciado en una función que queremos probar será burlado y se hará por pedirle devuelva un valor específico que deseemos. Entonces esta es la práctica de marcar. Estas marcas vienen a rescatar en las situaciones donde no importa si eres dependencia está arriba y entrenando o no, siempre estás garantizado para ejecutar tu lógica empresarial con una respuesta programada para la dependencia que se llama desde el código bajo prueba. Si alguna vez escuchó la tercera prueba doble se refiere esencialmente a un objeto que es reemplazado por una instancia equivalente de árbol u objeto o dependencia. Existen dos ventajas principales en cuanto a por qué los procesos de burla son útiles al probar nuestro código. Puedes pensar en estos como los pilares base en los que basamos el uso de nuestras pruebas unitarias. La primera ventaja es la eficiencia que trae consigo el proceso de fumar. Porque con burla, estamos seguros de que solo hay nuestro código que se ejecuta. Al ser probado. Todas las demás dependencias tendrán valores codificados duros, burlados dados por nosotros y ese código no se ejecutará en realidad. Ahora, la otra razón es respecto al control exacto que tenemos en todos los demás componentes que nuestra función de prueba IF necesita. Esto puede crear una separación que es muy beneficiosa. Ayudándonos de esta manera a ver rápidamente si la función que queremos probar se está comportando AES-128 o no como las partes que se utilizan en el proceso que en realidad no son parte de la función que queremos prueba. Tendremos valores establecidos que serán marcados por nosotros. Ya sabremos cuál es el regreso y cómo se comportan. Y sólo limitamos nuestras pruebas. La función que en realidad queríamos probar. Existen diferentes tipos de dobles de prueba o marcas. Y vamos a correr por cada uno de ellos solo para que tengas una mejor comprensión de su clasificación. Y en una conferencia futura, si ves uno de estos nombres, vas a estar familiarizado con él y rápidamente entender y tener un punto de referencia en cuanto a qué exactamente ese tipo de este doble E. En primer lugar, tenemos las falsificaciones. Las falsificaciones están trabajando implementación que es bastante similar a una dependencia real, excepto el hecho de que esté situada en la máquina local donde el código bajo prueba realmente se está quedando. Aquí, el ejemplo que más se usa y el escenario que somos falsificaciones son los más útiles. Al tratar con la persistencia de Theta. Al tratar con bases de datos. Y en lugar de instalar una base de datos de producción real, test utiliza una colección simple o una en memoria para almacenar datos. Y por qué eso es muy útil es porque es posible que no quieras, para cada prueba que hagas para poblar realmente algunas filas en la base de datos de producción real. O incluso tienes una base de datos de pruebas. A lo mejor no quieras poblarlo porque puede surgir algunos problemas cuando hacemos eso. El primero sería que Daniel tenga que eliminarlo. segunda sería el tiempo y la eficiencia que se desperdicia en estas dos operaciones. Incluso decir que base de datos no es ni siquiera profundidad que se quiere probar. Queremos probar un método que está llamando a la base de datos real. Querías ver cómo se comporta la función y no si la llamada a la base de datos realmente está funcionando, eso debería ser en otra clase. Si tienes una buena separación en tu proyecto. Y esa clase debe estar en el proyecto de repositorios, donde el personal respecto a la base de datos todavía está retocando. Qué falsificaciones se utilizan la mayoría de las veces. Son muy importantes desde esto una perspectiva. A continuación tenemos los talones. Y estos productos son solo respuestas preconfiguradas cuando se llama a una dependencia desde el sistema que estas 100 prueban. Ahora, aparte de paradas, también tenemos Spice. Estas son diferentes a las paradas, falsificaciones y también marcas porque la función real o dependencia realmente se llama. En especia. Tiene algún mecanismo de observación que se adjunta a esta convocatoria para prueba Delta B y publique la llamada a este mecanismo de observación. Se puede verificar si el carbón fue realmente activado o no junto con los parámetros. Y por último, tenemos el tipo de doble prueba más importante que vamos a concentrar la mayoría de este curso. Esas son las burlas. Las marcas son instancias especiales de objetos y las respuestas de los sujetos pueden ser especificadas por el probador. Eso es lo que los hace únicos. El hecho de que el intestino Mach llamado se puede verificar aseveración SAML en la prueba. Y este va a ser el ángulo en el que brillaremos Mockito, como verán en el proyecto de vista previa del que estoy hablando. Y nos meteremos en eso en tan solo un momento en la próxima conferencia. Facilita la creación de objetos simulados a la perfección. La forma en que hace esto es mediante el uso de la característica de reflexión en Java para crear objetos simulados para una interfaz dada. Entonces tienes una interfaz y básicamente crea un objeto instanciado como concreto. Pero ese concreto no existe realmente. Simplemente lo marcas hasta que lo inventas y lo haces devolver algunos valores que piensas en línea que te interesan para los valores de deuda aparezcan en la función que realmente quieres probar . Y además, para ver de nuevo cómo se comporta la función cuando tiene parámetros de entrada controlados dados I, ya sea como parámetros o como los resultados de las funciones que se llaman Imagen larga. Ahora, solo unas palabras sobre por qué Moche W tan popular y debes elegir estudiar, es que este framework te permite crear y configurar estos objetos simulados de los que hablamos. Eso sería bastante obvio por el título de este marco también. Pero el uso de Mockito simplifica en gran medida el desarrollo de pruebas que haces para cualquiera de las clases con dependencias externas o métodos simples dentro de estas clases. Si usted, el marco estadístico de prueba, puede, como ya he dicho, burlarse de las dependencias externas y también insertar las marcas en el código bajo prueba. Dosis que quieras dar estos valores específicos a funciones dentro de la función que quieres probar para ver cómo se comporta. Puedes, por supuesto ejecutar el código bajo prueba con mono DO y también validado el código se ejecuta correctamente en este entorno controlado que configuraste con el proceso de marcado. Esto se trataba de comer por las nociones teóricas burlantes que disparas, tener en su lugar justo antes de empezar la burla real en código y ver cómo funciona eso. De ahí, encendido. En la siguiente conferencia, vamos a ver una rápida mirada al primer proyecto de Mockito que habré configurado usando el solutor de dependencia de grava. Y si eso suena interesante, espero veros chicos en la próxima conferencia. Y muchas gracias por quedarme hasta el final de éste. 5. Mira un proyecto de Mockito: Hola chicos y bienvenidos de nuevo a este tutorial de Mockito donde entendemos cómo podemos probar mejor nuestros métodos chatbot usando este marco de pruebas unitarias. Para esta conferencia, vamos a echar un vistazo rápido sobre cómo podemos configurar nuestro proyecto en Nueva Delhi para que podamos escribir pruebas unitarias que están utilizando principalmente el framework Mockito. Una vez que abras IntelliJ, puedes hacer click en Nuevo Proyecto para que obviamente lo suficientemente griego, un nuevo proyecto. Entonces en esta ventana que ves en la pantalla momento necesitas seleccionar Gretel. Entonces necesitas tener Java marcado y el SDK de Java que has descargado en tu máquina local. Ya tuve una conferencia ahora puedes hacer eso. Pero si ya lo tenías instalado, puedes, por supuesto, añadir JDK. Así parpadea el camino que tienes en tu máquina local o puedes descargar directamente el TFEU no siguió ese paso de descargar tu GDK directamente desde el inteligente, pero lo conseguimos. Por lo que podemos hacer click en Siguiente. Aquí están los nombres de nuestro proyecto. Voy a nombrar mi proyecto o tutorial. Y la ubicación va a ser la predeterminada que se encuentra en la carpeta de proyectos Idea. Entonces el ID del artefacto va a vencer tutorial, el ID del grupo o los ejemplos de puntos ORT. Eso es bastante sencillo. Y al hacer click en Finalizar, ir a seleccionar la nueva ventana es que ya he tenido una ventana abierta con otro proyecto. Ahora se puede ver que tenemos proyecto básico abierto y está más o menos listo para escribir código en. Y se puede ver que cuando se abra, Gretel va a hacer que la iniciación se construya sobre ella. Solo para ver que todo está bien y tenerlo todo listo para funcionar. Se puede ver que la construcción fue exitosa. Y aquí en la parte derecha tenemos también un gran grifo del dedo del pie sin la tarea de construir, ensamblar, construir, y todas esas cosas buenas. Y puedes correr cada uno de estos para que digas que todo está bien, pero debería ser todo debe estar en orden en tu entorno si sigues los pasos que acabo de describir en conferencias de clase. Entonces lo primero que vas a tener que hacer para poner a Mockito en funcionamiento, es ir a este expediente de factura a ese Gretel justo aquí en la ventana del proyecto abriendo arriba y en la sección de dependencias en la línea 12, vas a necesitar ingresar estas dos líneas. Por lo que prueba la implementación de nuestro jeep. Ese Mockito, Mockito en la línea 377 y Mockito, necesitas a Júpiter 377. Una vez que ingreses estos dos valores, puedes ver que tienes este elefante. También tiene un signo de sesiones síncronas en la parte inferior derecha del mismo. Y si pasas el cursor sobre él, puedes ver que los medios que puedes permitir a los cambios graduales. Y básicamente detecta que la estructura del proyecto ha cambiado. Y para que estos cambios sean asimilados al sistema y se construyan en base a él y resuelvan todas las referencias, necesario cargar estos cambios graduales en. Una vez que haga clic en esto, se puede conseguir otra construcción se hizo. Y una vez hecho esto, básicamente puedes seguir y escribir tu código. El código se va a colocar en estas dos carpetas. Tienes la carpeta principal con la subcarpeta Java donde vas a colocar el lugar de trabajo, estas interfaces y así sucesivamente. Entonces básicamente ese es el código que se va a probar. El código de liberación. Entonces para nombrarlo en la carpeta de prueba, más específicamente de nuevo, en el trabajo una subcarpeta, vas a hacer clases de prueba. Las clases van a utilizar Mockito para probar los métodos de las clases que están disponibles y escritas por ti que quieres haber probado en la carpeta Java de la carpeta principal principal. Y por supuesto, solo puedes seguir después de esta configuración básica para madurar tu prueba unitaria de Mockito. Por supuesto que hay que importar Mockito, pero eso es sólo una línea de código. Más específicamente es importar ORT estática que Mockito punto Mockito con una letra mayúscula M y luego dot estrella para que recupere toda una biblioteca. Y luego después de eso puedes usar todas las cosas buenas como métodos de Mach cuando y así sucesivamente. Nos vamos por supuesto entrar en las próximas conferencias. Pero esto estaba por encima de él. Ahora si no ves que tu construcción de solución sencilla Gradle como en mi caso, se construyó automáticamente. Lo que hay que hacer es que tienes que hacer clic en esta cuadrícula azul y luego hacer clic derecho sobre ella y luego ejecutar tutorial. Y esta voluntad por defecto, ejecutar se construyen sobre todo el proyecto. Por supuesto, lo ejecutará con todas las dependencias a las que ingreses aquí mismo. Este era un entorno básico que necesitas tener la configuración en tu máquina local antes de ir más allá, este tutorial, si quieres hacer, en realidad tienes algunos siguientes buena experiencia. Entonces si quieres replicar lo que hago o lo hago a tu manera o formas similares, porque comienza con las dependencias y esta es la forma en que necesitas configurar tu proyecto Intel J. Pero esto fue por ello para esta conferencia. Espero verte en los próximos donde vamos a tomar unas palabras clave, nociones y cosas que el marco Mockito y hacer más en detalle, entenderlo y darnos una profunda inmersión en él. Eso suena interesante. Espero verlos ahí. Y una vez más, muchas gracias por quedarse conmigo hasta el final de esta conferencia. 6. Preparar tu primer proyecto de Mockito: Hola chicos, y bienvenidos de nuevo a este tutorial de Mockito, Java framework, donde entendemos mejor cómo podemos probar unitariamente nuestros métodos Java usando este marco de pruebas. Para, para esta conferencia, vamos a echar un vistazo a primera aplicación que tenemos, algunos de los conceptos en los que vamos a profundizar más adelante en este tutorial. Solo para que hagas la imagen de cómo se vería un proyecto en cada totalidad. Y también ¿cómo crearías el partiendo desde 0? Para empezar, vamos por supuesto, dirígete a nuestra EII elegida para Java. Eso es IntelliJ J, como viste en las últimas conferencias. En vas a crear un nuevo proyecto por supuesto. Y ya sea puedes ir a archivar nuevo proyecto o si no tienes ya un proyecto abierto, entonces no abrirá nada más que ventana inicial donde te rediriges para abrir un proyecto o un nuevo proyecto. Puedes configurar un nuevo proyecto y lo que quieres seleccionar Next es gradual. En lugar de simple Java. El motivo de eso es que hace que nuestro trabajo sea mucho más fácil a la hora de vincular el marco Mockito en nuestro proyecto. Entonces, en lugar de simplemente seguir y descargar los archivos GIA IR de repositorios Maven, el archivo JAR de la cresta del jamón, el Mockito, y también vincular las variables del sistema DOS a la parte posterior. Qué va a hacer esto. Calificador enlazará automáticamente a Mockito muy fácilmente ya que te mostraré en un segundo a nuestro proyecto. Por lo que usaremos grid off para este tutorial. si no lo sabes, te pasaré por una descripción rápida de qué crédito. Para que se te ocurra es sólo una herramienta para la automatización. Entonces, lo que hace, es automatizar la creación de aplicaciones, haciéndola mucho más fácil y más rápido. Estas son automatización incluye el enlace en empaque y compilar de diferentes partes de tu código. Pero por ahora, solo puedes elegir Gretel aquí en la densidad del proyecto j, necesitas. Por supuesto, elige JDK que instalaste. En tu máquina local. Instalamos nuestra deuda 16 JDK es detectada automáticamente por inteligente porque la dejamos en su propio camino predeterminado. Pero si eliges ese camino de una manera diferente o tienes instalada una versión diferente de JDK, debería ser automáticamente, como dije, ser elegido aquí. Pero si no lo hace, puedes descargar JDK si no lo tienes y se lo descargaría automáticamente. No tienes que pasar por todo ese proceso desde la conferencia anterior. O puedes agregar tu JDK si ya lo tienes instalado, pero no se detecta. Puedes elegir una ruta de donde instalas ese archivo bin. Pero por ahora, también puedes escoger Java y luego golpear a siguiente el nombre del proyecto y la ubicación. También el artefacto coordina como el ID del artefacto depende enteramente de ti. Por lo que esto no será de hecho nuestro proyecto de ninguna manera. Entonces al hacer clic en Finalizar, se abrirá un proyecto para usted forma predeterminada comenzando desde el ancho inferior no incluido. Por supuesto, vamos a hacer eso en una conferencia futura y te voy a correr a través exactamente de cómo se construyen las dependencias y qué debes hacer para importar Mockito y todo eso bueno. Pero esta conferencia es sólo el fin de mostrarte un proyecto rápido que he creado aquí mismo con algunas clases que en realidad están trabajando junto con el marco Mockito. Para probar un método específico de una clase específica, vamos a echar un vistazo solo para que te hagas una mejor idea de cómo funcionan las cosas en este marco de pruebas único. Se puede ver aquí tengo industrial see archivo, el archivo principal. Aquí tengo un Java. Un archivo, por supuesto, junto con el archivo principal, tenemos el testfile donde intuitivamente, vamos a escribir nuestros métodos de prueba. En el Java. Sólo vamos a declarar nuestras clases. Tipos de métodos que pueden ser queremos hacerse la prueba. Para empezar, tenemos aquí el vidrio del coche. Esta clase tiene tres campos, ID de coche, eso es una cadena, nombre, eso es una cadena y cantidad que es una cadena. Y nos imaginamos estos ejercicios como algún tipo de autoridad que está vendiendo autos se venden bien, lo llamé el concesionario. Y también contamos con un servicio de autos que facilita estos traslados. Ahora otra observación aquí es que cuando escuchas que la clase tiene servicio en su nombre, automáticamente debe estar pensando en esa clase está haciendo algunos métodos para sus otras clases. Hemos sido servicio de Estados Unidos en ella. Y si escuchas repositorio que algo que ver con persistir buenos datos, almacenarlos en una base de datos y así sucesivamente. Eso fue sólo un paréntesis rápido. Así que ahora avanzando, el auto de clase, por supuesto tiene un constructor con los tres parámetros que aún inicializaron aquí. Y luego conseguimos algunos setters y getters que son públicos. Y a través de esto, vamos a establecer o conseguir nuestros campos privados logren de esta manera. Encapsulación hecha, buenas prácticas. Esta es la lista, nada realmente fuera de lo común aquí. Apenas algunos campos que aún se establecen y obtienen la pared celular. Realmente no podemos probar nada aquí, pero vamos a ver que solo estamos probando o clase que fácilmente lo hacen. Bueno, estar más allá por aquí ahora, también tenemos los concesionarios de automóviles. Entonces este es el método que vamos a probar la celda de vidrio. En primer lugar, importamos Java util bestia ya que vamos a hacer uso de la lista aquí mismo en la línea 15. Pero el concesionario de autos de clase tiene que filtrar. Necesitas uno que sea servicio de autos, que es una interfaz y carta de vinos de autos porque el concesionario tendría al menos de autos, claro. Ahora el servicio de autos consigue getter y también un setter. Y luego la lista de autos también consiguen una en el getter. Por último, tenemos aquí otro método que se va a probar usando el caso framework. Verás en tan solo un momento, lo que hace es que declara una variable de tipo doble llamada valor de mercado, y la incrementa con 0. Ahora, vamos a iterar a los autos menos que es miembro de esta clase. Vamos a incrementar el precio get de un auto. Por lo que los servicios de automóviles pueden ver que es sólo una interfaz que tiene estas firma de obtener precio aquí. Y este es el método que nos vamos a burlar de usar Mockito para devolver algo que queríamos. Eso es lo que significa Mark. Y aparte de eso, vamos a multiplicar el precio que vamos a marcar el valor que vamos a dar. El método de cantidad que por supuesto está en la clase de auto. La cantidad que devuelve cuántos autos hay. Por último, después de iterar a través cada auto e incrementarlo con este valor de multiplicación, vamos a devolver este valor. Entonces como dije, el servicio de autos tiene esta firma, método que en realidad no se implementa. Y ahora vamos a pasar a la clase de prueba. Como se puede ver bajo prueba y Java, esta manera grid, no sabemos que este es el método de prueba. Aquí está la magia sucediendo, por así decirlo, y Mockito está involucrado. Esta es la clase de pruebas de tarjetas que sólo vamos a importar algunos utils que vamos a utilizar. Entonces con esto, se puede ver que estamos importando el Mockito. Como dije en una futura conferencia, vamos a ver exactamente cómo podemos importar estos Mockito usando Gretel. Estamos empezando a en la clase de probador de tarjetas aquí. Por lo que tenemos un concesionario de autos, el servicio de autos. El servicio es una interfaz. Aquí tenemos el método principal que es el punto de entrada donde vamos a ejecutar estos, este bastante sencillo. Estamos declarando probador de tarjetas, que es esta clase. Entonces lo vamos a instanciar y luego lo vas a llamar configuración para ello. Entonces la configuración es este método justo aquí que crea una instancia del concesionario y el servicio de automóviles. Se puede ver para el servicio de autos eso es sólo una interfaces que he dicho en realidad no implementado. Vamos a utilizar el método de simulacro de Mockito. Y te vamos a dar el servicio de autos y vidrio. Entonces vamos a simplemente marcar la clase ya que será clase concreta en no sólo una interfaz para el concesionario. También vamos a configurar el servicio de autos a estos servicio de autos marcados, como se puede ver aquí siguiente en método principal después de que configuramos estas pruebas, su objeto de probador de tarjeta tipo, estamos yendo a codificar este valor de mercado de prueba. Y dependiendo del booleano y regresa, vamos a comer ese enmarcado mejor si la prueba pasa o falla. Si falla. Profundizando en ese valor de mercado de prueba, un método. Aquí sólo vamos a declarar una lista de autos. Entonces voy a instanciar en realidad dos objetos de tipo auto. El primero fue Lamborghini y el segundo siendo un Audi. Va a usar el constructor con todos los valores reales. Les vamos a dar alguna identificación de stock, algunos nombres y las cantidades que tenemos para aprender trabajando bien. Y tres son estos, ambos de estos autos, que en realidad son listas de autos porque estos van a empezar a usar estos tres o estos se van a sumar a nuestra lista, claro, que se llama los autos como se puede ver en línea allí a 1637. Después el 40, vamos a llamar al método en el objeto concesionario. Eso es un concesionario de autos. Lo que hicieron estos set cards método fue, si recuerdas ajustar la atribución de la lista que le damos como parámetro a la lista de campo al concesionario de autos. Además, después de hacer eso, aquí es donde demo.com escena y por supuesto vamos a tener una conferencia posterior donde explicaré exactamente qué hace este método. Pero por ahora, solo para que puedas obtener el panorama más grande, lo que este método de cuando recibe básicamente una Llamada. Dice cuando el método de precio de la brecha del servicio de Cristo sería llamado con un parámetro de Lamborghini. Entonces deberías leer 250 mil, que sería el precio de Lamborghini que estimé. Y luego de nuevo, cuando obtengan precio método de servicio de auto sería llamado usando el auto, entonces deberías devolver 50 mil. Nuevamente, marca estas llamadas. Entonces el código en realidad no tiene que pasar por todos obtener clase de precio porque solo vas a querer probar el método de valor de mercado. Y eso es lo que hace. Se marca el vaso del método de conseguir Bryce. Y después de que veamos estos, se puede ver que vamos a llamar a la función get market value desde el vidrio concesionario, que fue éste. Y como pueden ver aquí, estamos marcando el método NET-price porque eso no es lo que queremos probar. Solo queremos que esto consiga el método de valor de mercado. Y como dije, cuando esto sería llamado, iteraría a los autos y en primer lugar, lo entregará al número guineas. Y cuando el servicio de autos conseguir precio de Lamborghini sería llamado, el Mockito te dice que regreses a 50 mil y ni siquiera te molestes en llamar al real get price, que por supuesto ni siquiera es implementado porque se trata de una interfaz y lo estamos marcando. Entonces todo el ADI de la misma manera y bestia nos permite probar el método get market value en condiciones muy controladas y también muy eficientemente ya que obtienen método de precio no va al frío et al. Vamos a, como dije, llamarlo desde el concesionario. Después de eso, vamos a girar el valor de mercado es igual a 650 mil, que sería el valor correcto dado que 250 mil veces dos es 525,000 mil veces 350 mil. Suman esos dos y obtendrías 650 mil. Por supuesto que ahora, se va a imprimir ya sea pass o fallar, dependiendo de estos true o no, el valor que este valor de mercado de prueba devuelve. Entonces si hacemos clic derecho en la clase probador de autos, decimos dominio Ron Cortez. Se puede ver que en este momento es realmente construir todo el proyecto arriba y el interés. Segundo, se puede ver que es un mejor. Ahora veamos si funciona. Si aquí tendríamos 65 mil, que no es el valor correcto, se debe conseguir un fail aquí. Entonces veamos si eso sucede. Ocurre. Ahora bien, esto fue sobre escritura para la primera introducción sobre Mockito. Al ver un proyecto más grande en la ciudad, Mockito se acostumbraría a un proyecto ya establecido. Pero a partir de la siguiente conferencia, vamos a presentar poco a poco desde el principio cómo puedes crear tu primer proyecto. Presentan también palabras clave y características particulares del marco Mockito y cómo se utilizan, qué hacen, etcétera. Entonces si eso les suena interesante, espero veros ahí chicos. Y muchas gracias por quedarse conmigo hasta el final de este tutorial. 7. Especifica los valores de retorno: Hola chicos y bienvenidos de nuevo a este tutorial de Mockito donde entendemos mejor cómo podemos probar nuestros métodos en Java usando estos framework de pruebas unitarias. En esta conferencia, vamos a echar un vistazo a cómo Mockito puede especificar valores de retorno en diferentes escenarios para algunas funciones que se llaman en diferentes tipos de situaciones. Con Mockito, puede agregar funcionalidad para marcar un objeto utilizando diferentes métodos. Se puede ver que lo hicimos aquí en nuestro escritorio en la línea 23. Marcamos toda la clase de servicio de autos que estaba en una interfaz y encabezamos ninguna implementación real. Pero aparte de ese riñón de Mockito, también puede marcar el comportamiento de una función que se llama con ciertos parámetros. Y al marcar la deuda, puede especificar el valor de retorno exacto que debe tener esa función cuando se llama con ese parámetro específico. Por ejemplo, en línea 43. Como se puede ver, el Mockito instruyó la función de obtener precio del servicio de automóviles, que en realidad no tuvo implementación en la interfaz. Para devolver los 250 mil fallan a la hora de hacer frío, podríamos el argumento de Lamborghini. Y como se puede ver, la sintaxis apilada para eso es la palabra clave wing. Entonces la función que se va a llamar con un parámetro específico. Por lo que la deuda es la situación en la que se quiere que se añada este comportamiento. Y luego la palabra clave den return, y luego el valor, la función que se está llamando con ese parámetro específico debería tener en situación exacta de deuda. En este punto de tiempo. Mock ya grabó el comportamiento y se está trabajando objeto simulacro, tipo de servicio de coche de interfaz. El objeto de servicio de automóviles ya es un objeto simulacro de trabajo. Nuevamente, ya dije esto, este código aquí mismo es muy útil porque este código se ejecutará en el concesionario, obtendrá valor de mercado. Vamos a probar y queremos que esas dos llamadas tengan nuestros valores exactos dados, valores marcados, solo para que nos aseguremos de que esta función vaya bien o no con respecto a estas función de get precio. Entonces si la función de get price funciona o no, método definido dos veces, porque especificamos los valores que debe devolver. Y queremos concentrarnos en pruebas unitarias para obtener método de valor de mercado. Este es el método básico de cuándo y luego regresar, que es dijo ELLA, el marco Mockito especificando los valores de retorno. Como podrían pensar algunos otros programadores. Esto está agregando el comportamiento. En ciertos tipos de situaciones. Eso es algo bastante útil cuando se quiere crear esa separación de la que hablamos de la clase que se quiere probar en la dependencia bajo y clases que se llaman dentro de ella. Entonces esto fue por encima de escritura para esta conferencia. Y en la siguiente vamos a empezar a mirar la palabra clave verificada, que es una palabra clave muy importante, demo dope, framework de pruebas unitarias. Y vamos a ver exactamente lo que hace y todos los diversos escenarios que son muchos de ellos que verifican palabra clave se pueden utilizar. Eso suena interesante. Espero veros ahí chicos y muchas gracias por quedarse conmigo hasta el final de esta conferencia. 8. Verifica el comportamiento de los métodos: Hola chicos y bienvenidos de vuelta al ahumado le dijo a Turiel. Dondequiera que entendamos cómo podemos mejor prueba unitaria nuestros métodos escritos en Java usando este framework. En esta conferencia, vamos a hablar del método de verificación que nos proporciona Mockito. También cómo podemos usarlo y por qué útil para nosotros al intentar unitar este uno o incluso más métodos que escribimos en la R. Tal vez en producción o tal vez queremos desplegarlos en algún momento en el futuro. Así que al empezar aquí, creé un proyecto completamente nuevo en Intel J. Y la forma en que lo hice eso fue bastante parecido al otro que vimos en la conferencia anterior donde presenté el visión general de un proyecto para usted. Más específicamente, acabo de hacer clic en File New Project. Y luego cuando eso se abrió, elegí el sistema de resolución de dependencias Gradle, elegí Java, y luego el JDK de mi elección. Entonces en el siguiente acabo de elegir un título para ello, lo mismo para las coordenadas del artefacto y luego hago clic en Finalizar y luego creó mi proyecto para mí. Después de eso, acabo de ir a construir gradle e importé algunas cosas a algunas dependencias que vamos a necesitar para que estos proyectos funcionen. Ser más específico que la deuda. Usado JUnit y también los paquetes Mockito. El API JUnit Jupiter ya estaba aquí después de que incluirás estos. Como recuerdas, si cambias algún carácter de DC build gradle archivo, obtendrás el auto y con el botón de sincronizar en el que debes hacer click para que se importe en sincronizado con todas las dependencias más recientes, justo en el archivo de compilación Gradle. Después de que hice eso, la fuente se archiva con la media y se crearon carpetas de prueba después de que se construyera el proyecto. En la carpeta Java, tengo una clase y la interfaz. A la clase se le llama aplicación de facturación, y la interfaz se llama servicio de tienda de bonos. El servicio de casa de empeño tiene dos métodos que necesitas para vender y comprar. Uno, no se implementan en absoluto en la aplicación de facturación. Eso es en realidad una clínica, no una interfaz. Tengo estos campos privados. Ese es un tipo de servicio de tienda de fuentes, que era la interfaz. Y luego tengo el servicio de tienda de granero conjunto, que establece mi campo de servicio de tienda de bonos. Entonces tengo función celular que solo agrega dos números. El primero debe ser el beneficio total que ha tenido el puñetazo hasta este punto. Y el segundo debería ser en realidad el precio por el que vendemos nuestro objeto específico. Nuevamente, estos son más o menos sólo para un ejemplo en que no se implementan en una medida en la que serían intuitivos o nada por método también. Eso llama a la bicicleta desde el servicio punch up, que como viste, no se implementa, pero vamos a ver cómo funciona eso en tan solo un segundo. Ahora donde se pone interesante, porque hasta este punto fue bastante parecido al otro proyecto que miramos. Facilidad en la carpeta de prueba, donde tenemos automáticamente la carpeta java creada y yo creo estas dos funciones aquí. Estas son ambas clases. Uno se llama los probadores de aplicaciones de facturación. Por lo que cada aplicación de prueba para pantallas que ves en la pantalla aquí mismo no facturó la aplicación uno. Y luego tengo un test runner que tiene la función principal que necesitas, como veremos en un segundo, es el responsable de ejecutar realmente toda la clase de escritorio diferente es que tendríamos en esta carpeta, en mis limitaciones, sólo una. Pero en un proyecto de producción más grande, puede haber muchas gafas de prueba. Sé que es bastante útil para ejecutar dam en lugar de tener dominio en cada uno de ellos porque eso sería mucho más tiempo hacer clic mucho desde botones en cada uno de los proyectos. Además, a la prueba de solicitud de facturación aquí mismo. Como se puede ver, es bastante diferente a la que vimos en el último proyecto. Y la principal diferencia es que esta clase de probador se lee con el entrenador JUnit. Y como viste si recuerdas, importamos unidad de intercambio en mi caso es 4131, la versión. Y explicando un poco cuáles son estos puntos, un corredor JUnit es solo una clase que extiende la clase runner de JUnit, que es abstracta. Estos límites se utilizan para ejecutar las clases de prueba. Tienen cierta paciencia con el signo en que ayuda al proceso de construcción entender qué objeto es la marca, qué objeto es el objeto que debe inyectar el simulacro de él también, y también las funciones de prueba. Las pruebas JUnit se inician utilizando la clase core JUnit. Y esto se puede hacer desde ejecutarte desde la línea de comandos. Pero en nuestro caso, esto se va a hacer por defecto, por nuestro IVE cuando vamos a presionar el botón Ejecutar en la unidad de disco que tiene el método principal. Lo veremos en un segundo. Estos JUnit runner utiliza reflexión para encontrar el entrenador apropiado para las mejores gafas de prueba. Y por supuesto, primero va a buscar la anotación del ancho de rima en la clase de prueba, y no se encuentra ningún otro corredor. Se utilizará el corredor predeterminado. Se instanciará y la clase de prueba se pasará al corredor. En nuestro caso, las deudas, la clase probador de aplicaciones. El trabajo del corredor es instanciar y mejor vidrio de prueba. Entonces, ¿esa es la carrera o es bastante sencillo? Simplemente nos ayuda a ejecutar nuestra prueba en Intel J mediante el uso intuitivo y condiciones el fin de mostrar al ID qué componente es switch n ¿Cuál es el papel de cada actor en este proceso? Ahora, pasando al corredor de pruebas y volveremos a entrar en este mejor en su clase en tan solo un poco. En la clase test runner, se puede ver que tenemos la función principal y tenemos un resultado que se asigna al método JUnit run classes. Y eso se da como el parámetro d clase de prueba. Como dije, la unidad de cadena o va a ejecutar la clase de pruebas. Y por supuesto, estas anotaciones le van a ayudar a hacer eso. El resultado se asigna a las clases troncales JMU. El núcleo de dos minutos clasifica ese vidrio usando reflexión y luego pone el resultado en esta variable de resultado aquí mismo. Ahora vamos a iterar a través de estos fracasos de resultados. Por lo que estos resultados objeto tiene un método máximo llamado get fallas y devolverá todos los fallos si hubo alguno en nuestra prueba. Y se va a imprimirlos en la pantalla. Por supuesto, también va a imprimir si nuestro resultado fue exitoso o no en DC va a imprimir verdadero si todas las pruebas fueron exitosas o falsas si algunas de ellas estaban fallando, como se puede ver en la descripción en pantalla, momento, esta era más o menos la estructura de nuestro proyecto. Vemos en la pantalla. Solo quería mostrarte todos los elementos que hice en detalle. Simplemente así si quieres seguir junto con este proyecto o tal vez incluso escribirlo y luego modificar que estás en línea. Vas a poder hacer eso. Después de esta presentación. Voy a entrar más en profundidad en el concepto del que realmente vamos a hablar en esta conferencia. Y verifica método, la clase pública de pruebas de aplicación de facturación que escribí en la pantalla aquí, hace algunas cosas que son muy conocedoras dentro del Mockito marco en su basurero, muy bueno con este marco y por eso quería presentárselos. En primer lugar, declara objeto de aplicación de facturación. La anotación de Marcas de Inyectar prueba que este es el objeto donde se debe inyectar la marca. Y como puedes ver aquí, el servicio de casa de empeños es la marca porque es sólo una interfaz y debemos inyectarlo en este vaso. Ahora también declaramos dentro de estos testados sobre objeto de servicio de tienda, que anotamos. Eso es en realidad un simulacro como viste, iterando, Esa es una interfaz y debemos comercializar y comportamiento de mercado para devolver exactamente lo que queremos devolver y que en realidad lo tienen implementado. Recuerde, estamos haciendo estos con el fin de evitar sobrecarga en las pruebas de nuestras clases de producción. O bien al no querer recrear todos los flujos de base de datos en tan solo algún simulacro dado por nosotros valores y también para controlar mejor el flujo de partes a menudo funcionan que en realidad no están relacionadas con él. Y solo queríamos probar esa función por separado de cualquier otra clase. Y ahora la prueba en función, que es la prueba única real que escribimos en esta aplicación. Como se puede ver, esto se anota con el signo de prueba. Vamos a, en primer lugar, al comportamiento usando Mockito, que cuando se vaya a llamar al método de venta de servicio de la tienda de empeño con los parámetros de 1020, daño debe devolver 30. Estamos agregando este comportamiento es lo contrario esta línea de código aquí mismo no habría existido. El servicio de casa de empeño con el método celular con devolver nada ya que ese método no es componente, agregamos el comportamiento. Y entonces vamos a probar estos agregar funcionalidad y afirmar si el método de venta de servicio de tienda de empeño con los argumentos de 1020 realmente devolverá 30 S que instruimos hacer. Y vamos a hacer esto como se puede ver con el método assert, que pertenece a la clase JUnit, referencia JUnit es muy importante aquí. Y entonces este lugar tiene un método assert iguals, como se puede ver, que toma dos objetos y luego comienza si son iguales o no. Eso es bastante sencillo. Ahora, podemos verificar el comportamiento usando estos verificar la palabra clave y también método. Verificar comportamiento dice que debemos verificar el método de venta de servicio de tienda de empeño con los argumentos luego en 20. Lo que esto significa es básicamente verificar si el método de clase de servicio de la tienda de bonos de celda con el argumento 1020 fue realmente llamado. También podemos hacer otra cosa usando check. Y eso también está sugiriendo los tiempos de que se llama a estas funciones. Ahora, yendo un poco más a fondo en el conocimiento teórico verifica el método. Mockito puede realizar un seguimiento de todas las llamadas al método que haces en los métodos de prueba y también sus parámetros a objeto simulacro de deuda. Puedes hacer esto usando estos método de verificación que estoy hablando aquí mismo en el objeto simulacro. Como dije, es necesario utilizar esto verificar que se cumplan las condiciones especificadas. Por ejemplo, se puede verificar teóricamente que al método se le ha llamado ciertos parámetros es que estamos haciendo aquí en la línea 30 a este tipo de pruebas veces se llama pruebas conductuales. Eso es bastante sugerente. Y no comprueba el resultado de un método call buddy comprueba que se llame al método con los parámetros correctos. Como se puede ver en este verificar estados línea 3333, el resultado real, que es de 30 y debe ser 30 sobre método de deuda que se marca en ninguna parte que se encuentre, por lo que eso no está implicado en absoluto. El resultado de esa llamada al método, acabamos de comprobar si se llamó al método de profundidad o no con parámetros rojos y también el número de veces lo que se llamaba. Por supuesto, puede hacer muchas otras cosas que vamos a hacer, checar en conferencias posteriores. Pero en esta conferencia sólo vamos a concentrarnos en estos dos factores. Pasando por él de nuevo, los métodos refinados de juguete mono solo se utilizan para comprobar el cierto comportamiento ocurrido. Podemos usar estos métodos de verificación al final de los métodos de prueba y esa es la forma en que se debe usar como se puede ver en mi pantalla también. Para asegurarse de que en realidad se llamen a los métodos especificados que nosotros hacia arriba de ellos llamamos. De esta manera, tener otra forma de verificar que el flujo de trabajo real que sugerimos, este método de prueba realmente tuvo lugar y E está funcionando como pensamos que sería. Podemos seguir adelante y ejecutar esto y ver qué pasa con estas funciones de prueba. Al hacer clic derecho sobre el corredor de pruebas y ejecutarlo, se va a ir a la función principal. Entonces usando el núcleo JUnit, se va a ejecutar todas las clases en esta clase de prueba. Entonces va a iterar a través de cada una de las fallas si hay alguna, imprimirlas y si no, o incluso si fueran menos, VT va a imprimir en pantalla si el resultado fue exitoso o no. Exitoso, lo que significa que hubo algún error o no. Es bastante intuitivo cuando el método de clases de ejecución de núcleo JUnit se llama width la prueba de la aplicación de facturación. Nuestro método de prueba va a ser llamado. En primer lugar, agregamos el comportamiento del método de venta de servicio de tienda de empeño que se llama con el primer documento es Dan y el segundo argumento como 20, debe devolver 30. Ahora vamos a afirmar si el comportamiento se hace realmente afirmando si el método celular de esta interfaz y el valor real y el 30 son iguales. Entonces solo vamos a verificar si este método celular, bueno, en realidad se llama en línea 29. Y también vamos a comprobar si el método celular, los argumentos del inquilino 20, lo que también se llama onetime online 20. Cuando ejecutamos estos, como se puede ver aquí, dice que la tarea del corredor de pruebas Maine fue. Invocado, que fue esta tarea justo aquí. Tensión anticonfianza a verdadero. blanco resultó a verdad. Bueno, eso es porque iteró a través de todos estos años getfield y literalmente cumplió nueve años porque nuestro método de prueba no tuvo ningún fracaso. Y luego imprime que los resultados fueron exitosos. Estos lo que B es verdadero significa. Todo sucedió mientras plantamos aquí, se llamó a nuestro método celular. Se le llamó, de hecho, una vez. Ahora revisemos lo que pasa. Si queremos verificar si se llamó al método cell con los argumentos scan en 30. Si lo ejecutamos cada rodaje, háganos saber que no fue llamado con los valores 1030, sino los valores reales 1020. Y como se puede ver aquí en la prueba de tarea render main, dice que los argumentos son diferentes. Queríamos que los argumentos fueran 1030, pero la invocación real que ocurrió en la línea 29, tal y como se afirma aquí también, donde 1020. Por lo que nos especifica el fracaso en detalle como instruimos hacer en la prueba Turner en línea entonces entonces también nos imprime que el resultado no fue exitoso, por lo que fue falso. Ahora vamos a seguir revisando este 1020 para que deba devolverlo. De acuerdo, pero ahora vamos a verificar si la celda de método con el parámetro estándar 20 del objeto simulacro de tipo punch up service se llamaba en realidad dos veces. Por lo que de nuevo, debe advertirnos y debe volver falso cuando lo ejecutemos. Como se puede ver aquí, nuevo, devuelve falso. Y específicamente la deuda estadounidense, el método de prueba falló. Y la función celular de servicio de la tienda de empeño con estos parámetros estaba deseando ser llamada dos veces. Entonces eso es lo que queremos que suceda. Eso es lo que especificamos que pasaría. Pero en realidad el número de invocaciones, esa fue una vez. Esto bastante sencillo porque se llamaba Sólo una vez aquí en la línea 26 no se llama. Es sólo especificar que cuando Scott debes regresar 30. Por lo que esto no es en realidad una llamada a que ejecuta C. Verify método es extremadamente útil para podamos verificar que el flujo se especifica en nuestra prueba fue realmente ejecutado. No sólo que en realidad se llamaron los métodos a los que queremos que llamen, sino también las veces que se les llamó. El hecho de que especificara que esta profundidad, las cosas que salieron mal, vuelve a ser muy útil porque se puede ver a un nivel más profundo lo que salió mal exactamente. Y entonces puedes depurar con mucha facilidad, estás probando y ves qué pasa mal. Tal vez ya sea en su escritorio especificando lo incorrecto o en su método real. El método tiene muchas otras funciones complementarias reales como estos tiempos funcionan aquí mismo. Y vamos a correr a través ellos en detalle en las futuras conferencias. Pero para éste solo quería hacer rápidamente mostrarte nuestro Proyecto Set Up y también estas características de la verifica. Nuevamente, iterando a través de ellos que se llamó a la función con ciertos parámetros y los tiempos que iguala pidieron otras funciones que eran gratuitas con el método check en Mockito te suena interesante. Te sugiero que te quedes en las futuras conferencias. Y de nuevo, estoy muy agradecido de que te quedes conmigo hasta el final de éste. Espero verlos también en la siguiente. 9. Verifica la gama de llamadas de métodos: Hola chicos y bienvenidos de nuevo a este tutorial de marco de pruebas de Mockito, donde entendemos mejor cómo podemos usar este marco en particular con el fin de probar mejor nuestros métodos escritos en el lenguaje de programación de Java. En esta conferencia, vamos a seguir entendiendo el método verificar del marco Mockito, más a fondo. Y lo vas a hacer a través algunos otros métodos experimentales que pueden trabajar con estos método de verificación y también algunos otros métodos relacionados para verificar el método. El proyecto que estamos mirando, lo que se presenta en la última conferencia. Fue la de la aplicación de construcción con la superficie de la casa de empeño, el servicio de punzón de nuevo con la interfaz y la aplicación de construcción. Considerando que una clase concreta que estaba utilizando el servicio de casa de empeño en el método byte. La aplicación del edificio. Esta es la clase donde tenemos nuestras pruebas unitarias reales escritas, nosotros Mockito. Y esta es sólo una clase real que ejecutará todas las pruebas que tenemos. Algunos snarky es solo la aplicación de facturación después de clase. Y la última vez miramos el método check con el fin de verificar que se llamara a la función. Y además, miramos el método complementario de Times que estaba trabajando con verificar orden para verificar un número exacto de veces que se llamó a ese método. Pero más que estos tiempos funcionan, hay otras funciones complementarias que funciona con este método de verificación de Mockito y vuelven a ser muy útiles cuando queremos probar unitario nuestros métodos. Es útil de nuevo para comprobar com muchas veces se ejecutó método natural de vidrio que estamos probando. En primer lugar, es necesario recordar la sintaxis general de estos método de verificación, que es la palabra clave check. Y luego puede tomar como parámetros, en primer lugar, el objeto de la clase que se quiere probar en nuestra clase, es el mercado de la superficie de casas de empeño. Entonces puede tomar opcionalmente un segundo parámetro que es una función. Veremos qué hace esa función en un minuto. Pero después de estas verificaciones reales, verificar fechas de método el argumento sólo el objeto de Demócrito que queremos probar. Y luego la sintaxis especifica el método de esa clase con parámetros reales. Verifica no solo el método del gráfico que especificamos como primer parámetro, sino también sus parámetros. Ahora volver al segundo argumento es opcional, pero nuevamente darse en el método verificado. Especifica los tanques que esta función tenía costos reales pueden hacerlo. O puede ser tiempos. Y hablamos de esta última vez, como ya he dicho, que especifica cuántas veces se llamó ese método real con esos argumentos reales. Pero también puede ser al menos como máximo y la red al menos especifica si el objeto de clase como primer parámetro dado al método de verificación y su método con esos argumentos fue llamado en esta prueba al menos. Y entonces cada uno toma una integral en cuanto al número de centavos se llama o máxima célula. Se puede poner un límite aquí, pero no sólo eso, también podemos tener la función de red, que de nuevo es muy útil porque básicamente es lo opuesto a la función verifica simple verificar si se ha llamado a la función de la deuda. La segunda función de cortesía aquí, que nunca es asegura que el método de ese objeto en el que nunca se llamó a esos parámetros específicos. Además, que estas funciones de cortesía que podemos dar como parámetros verificados a lo largo del Ártico Dr. marcado vidrio. También tenemos el método verificar no más interacciones. Eso toma como parámetro el objeto simulacro. Lo que esto hace, verifica que todas las interacciones fueron verificadas. Se saca la causa real de los métodos con estos objetos de clases. Y verifica si todos esos costos verificados. Y si hay alguna interacción no verificada en estos objeto marcado, devolverá false al mismo. Especificaremos que como se puede ver en este punto, no hay interacciones no verificadas. Como el método celular es el único que se está llamando y en realidad se llama en línea. 29 es que me he puesto a la línea 39. No existe un método no verificado servicio de punzonado de objetos. Si realizamos la prueba en este punto, se puede ver que volverá verdadera y como todo se verifica. Pero luego en la línea 40, volví a llamar al método celular en el grupo objeto de servicio. Y esta vez voy a volver a escribir el verificar no más interacciones. Lo que hace esta función, verifica hasta el punto en que está escrita. Por lo que sólo antes de ella, si existen alguna interacción no verificada de métodos del objeto que recibe como parámetro 41. Ahora, vuelvo a especificar esta función solo que en línea 40, llamé al método del punzón de servicio. Como se puede ver, con los argumentos de 1020 DC es menos importante. Pero lo importante es que después de llamarlo, no lo verifiqué en absoluto. Entonces si corremos esto ahora mismo, cuando llegue a las muy finas direcciones normalmente aquí, sentirá que es falsa. Y como se puede ver, específicamente dice mucho detalle que saber direcciones donde una cuenta, línea 41, como dijimos específicamente con esta función. Pero encontramos la interacción del servicio de tienda de empeño simulada en 940. Y también adicional te mantendría para tu propia lista de referencia de todas las ubicaciones que se hicieron a estos objeto burlado en línea 40 no se verificó. En línea, lucha del miércoles 29. Y te dice que esta señal de aquí mismo significa que la implicación real no fue pelear. Como se puede ver la información en línea 40, que es ésta donde no se verifica. Y en línea 29, que es éste, fue verificado. Entonces allí no hay signo de interrogación. Entonces si además devuelve false, como recuerdas, ese fue el resultado de la línea 13 de si el resultado de la clase chimenea Corán del probador de aplicaciones de construcción de vidrio fue exitoso o no. Y en nuestro caso, no fue exitoso. Entonces esto fue al respecto para este tutorial donde volvimos a mirar algunos otros métodos complementarios sobre el método de verificación multidosis. Y también nos fijamos en la última más interacción con el fin de entender cómo funciona. En el siguiente tutorial, vamos a echar un vistazo al orden de los costos que se hacen y cómo podemos verificarlos también. Nuevamente, usando la palabra clave check. Si eso les suena interesante, espero verlos ahí. Una vez más. Gracias por quedarte conmigo. Después del final de esta conferencia. 10. La clase de InOrder: Hey chicos, y bienvenidos de nuevo a estos Mockito, Java unit testing framework tutorial, donde entendemos mejor cómo podemos probar unitario nuestros métodos escritos en el lenguaje de programación de Java. En esta conferencia, vamos a seguir hablando del método de verificación, el marco Mockito. Y más específicamente que eso, vamos a verificar en esta conferencia, el altar de invocación respecto a los métodos de entre objetos. En nuestra clase de pruebas. Podemos usarlo en clase de orden, como se puede ver aquí mismo, para verificar el orden de las invocaciones de diferentes métodos en nuestro objeto simulacro. En realidad podemos omitir algunos métodos que queríamos verificar. Pero los métodos que queremos verificar deben ser invocados en el orden para que puedas saltarte esta cadena, claro, en cualquier punto que quieras, pero la cadena desunada verificando necesita estar en el orden real que lo entregas al objeto en orden que creas. No se pueden omitir costos entre el costo que está tratando de hacer. Con el objeto en orden. Al mirar el código en la pantalla, se puede ver en la línea 40, como dije, declaré un objeto en orden de tipo en orden, que es una interfaz que está disponible en el framework Mockito. Y eso realmente tomará un tipo de objeto en orden, simulacro, el único parámetro. Y luego usando los objetos en orden que lo creamos, podemos invocarlo el método verificado que nuevamente está tomando, como sabemos, como primer parámetro, el objeto burlado que tenemos en la clase de prueba. Y puede tomar opcionalmente otro parámetro que especifique el número de veces que se ha realizado la llamada. Y ese es el disparate Phi. Tenemos la sintaxis que conocemos por ahora, dot la función que queríamos probar de obtener el código del objeto burlado y luego sus parámetros. Línea Sólida 41. Estoy muy bien con el objeto en orden, si se invocó la celda de servicio punch up con el argumento 20 y pruébalo después. Verifico si el método celular del grupo de servicio objeto con los argumentos entonces en 30 fue llamado dos veces. Y luego después de esto, estoy probando si se llamó al método bind con los argumentos de 1035 del grupo objeto de servicio. De nuevo estamos verificando el orden de las invocaciones del discurso en el mercado. Objeto con estos con el fin de clase y además, verificar el método. Como se puede ver, cambié un poco el código antes de esta llamada al método. Y en línea 30 tenemos la celda de servicio de la tienda de empeño con el argumento 20 celular. Este es el inicio de la verificación sobre las invocaciones de encadenamiento. Entonces tenemos en línea 35362 cos del método celular con los argumentos se hace en 30. Y se puede ver que eso es lo que estamos probando en la línea 42. Y luego por último en línea para D3, estamos probando si el método bind que documentamos estándar 35 fue llamado a continuación, que taxi era H puede ver en línea 35. momento, si manejamos esta clase, se puede ver que va a volver verdadero. Pero lo que sucede, por ejemplo, si en lugar de llamar al método con los argumentos, entonces en 35 lo llamaría documentos estándar 45. Con estos todavía funcionan bien teóricamente ahora se puede ver en la pantalla que no funciona. Y comer otra vez especifica en detalle, lo cual es característica muy útil que la verificación de inorder, fue fracaso y 35 método fue buscado pero no invocado. Fue buscado en cualquier parte después de la siguiente interacción, que es la 1030. Pero nunca se llamó a estas invocaciones reales. Ec2 está esperando el 1035, en realidad consiguió 45. Y el método de la función objeto de servicio con el argumento estándar cinco nunca fue realmente llamado en la secuencia. Este error falso se dio aquí. Esto fue al respecto con la función en orden disponible en el marco múltiple puede ser muy útil si desea verificar una secuencia de llamadas que realice en su clase de prueba. Espero que hayas sacado algo de este tutorial. Muchas gracias chicos por quedarse conmigo hasta el final de este tutorial. Y te veré en la siguiente. 11. Matchers de argumentos: Hola chicos y bienvenidos de nuevo al tutorial de pequeñas cetonas. En esta conferencia aquí mismo, vamos a discutir Mockito, emparejadores de argumentos y más específicamente ser Amy argumento matcher en el marco demo Quito. Estos son componentes muy importantes en el marco de Mockito y veremos por qué en tan solo un momento. Ahora metiendo un poco en las cosas de las que ya discutimos, Mockito nos permitió crear los objetos simulados y también agregarles comportamiento. La forma en que se agregó el comportamiento fue por las palabras clave cuándo y luego devolver la palabra clave, el objeto simulacro. Y recuerda que teníamos la palabra clave cuándo y luego parámetro tomó la función de objeto simulacro de deuda y también sus parámetros. Y luego la palabra clave return seguida del documento. Lo que ese método de los Objetos Marcados con esos parámetros específicos debe leer allí. Esa fue la forma en que Dinamarca. Añadamos comportamiento específico, comportamiento marcado, por supuesto, a nuestros objetos de mes solo para que podamos hacerlos devolver exactamente lo que queremos. Ahora, claro, hasta este punto donde se ve aquí algún doble, teníamos valores reales como ves estos sucios aquí mismo. Esa fue una forma bastante genérica de burlarse del comportamiento de un objeto simulacro. Pero los emparejadores de argumentos débiles tardíos de Mockito hacen una forma bonita, una sencilla, mucho más amplia básicamente dejarte marcar ese comportamiento. Supongamos que queríamos marcar el comportamiento para cualquier argumento del tipo dado. En ese caso, podemos usar esta matriz de argumentos de la que estoy hablando. Se definen en el Mockito, clase de matriz de argumentos y son métodos estáticos. Como ven, simplemente, podemos llamarlos aquí mismo. Hablamos cualquier objeto que esté relacionado con ellos. Podemos llamarlos por su cuenta. Como se puede ver, en lugar de realmente escribir valores específicos aquí, podemos escribir esta cualquier función doble. Y lo que esto hará, devolverá 34, en realidad, cualquier doble valor que se reciba como parámetros sobre el mismo método del servicio Objetos Marcados, LB de la clase de servicio. Y como pueden ver, hice un montón de afirmaciones aquí que tienen un montón de argumentos diferentes que son bastante diferentes entre sí. Y arriba por cada uno de ellos, especificé que debería devolver 30. Esta es solo una forma de probar que este comportamiento adulto aquí con el argumento importa en Mockito está realmente funcionando. Si hacemos clic derecho sobre él y hacemos clic en Ejecutar, vas a ver que para cada uno de estos métodos de celda con todos estos diferentes argumentos hacia fuera, estos métodos realmente devuelven 30, lo puedes ver devuelve verdadero. Si recuerdas que fue el resultado del método exitoso, el método de clase equivocado en el JUnit. Por el argumento de nuestra clase de prueba. En realidad funciona. Por lo que esta matriz de argumentos vuelve a ser muy útil, si quieres hacer simulacro de comportamiento general y ni siquiera te importan los argumentos que recibe la función. Por cualquier argumento que pueda recibir, solo quiere devolver el mismo resultado. Quizás porque quieres probar método y hay otro dentro de ese método y te fuiste al mercado. Por lo que solo quieres comer esa función y no hay otras funciones. Y si hay alguna otra función, te fuiste a burlarse de ellas para devolver valor estético, que en este caso sería, como ya he dicho, 30. Y en este escenario, las deudas son algo bastante valioso que Mockito te permite hacer, además del método doble N. Por supuesto que tenemos alguna comer cualquier booleano y así sucesivamente. Por cada tipo de datos que se pueda pensar, cualquier método, puede reemplazar cualquier tipo de datos que pueda darse como argumento para el método Where. Pero muchas gracias chicos por seguir conmigo hasta el final de esta conferencia. Y en la siguiente, vamos a discutir los espías. Dentro del marco de Mockito, vamos a echar un vistazo a qué son exactamente y cómo pueden ser útiles para preguntar cuándo unidad prueba nuestros métodos. Entonces eso te suena interesante. Espero veros chicos. Ahí. 12. Spies: Hola chicos y bienvenidos de nuevo a estos tutorial de Mockito, donde entendemos mejor cómo podemos probar unitario nuestros métodos escritos en el lenguaje de programación Java. En esta conferencia, vamos a discutir sobre Spice, marco de Mockito. Y también entender qué son exactamente y cómo pueden ser útiles en un viaje. Para escribir estas pruebas unitarias, podemos usar un espía de Mockito para burlarse parcialmente de un objeto. Parcialmente burlarse de un objeto es burlarse de objeto de deuda. Pero cuando creamos ese espía realmente fuera de un objeto, se llaman esos métodos reales de los objetos, pesar de que se trata de un objeto simulacro. Ahora, tengo en pantalla una implementación que será un gran ejemplo para esta definición y te ayudará a entender exactamente qué son las Spice. Está familiarizado con este proyecto en Intel J, no habíamos construido la aplicación aquí. Y también se burlan de objeto. El objeto simulacro fue inyectado en el edificio la aplicación, que en realidad era un método concreto. Ahora en nuestro método de prueba, en primer lugar, añadí el comportamiento de que el servicio de la tienda de empeño, que era el objeto marcado en caso de que al método celular de la misma se llamara al método celular de la mismacon dos duplica lo que sea, Es argumentos entonces H2, H3, pluma sucia. Ahora lo que hicieron, declaré un objeto de tipo de aplicación de facturación, y le asigno un espía en el objeto de aplicación de facturación. Entonces lo que hice, llamé a este objeto pastel el método cell, width, los argumentos de 1020. Clase de aplicación de facturación muerta. El método celular. Lo tenía implementado para que regresara e imprimirlo en pantalla, la suma de los dos números que se dan como parámetros. Después de eso, también creé un objeto de tipo casa de empeño servicio en línea 34, y están asignados para comer el SPI del objeto de servicio de la tienda de empeño. Ese fue en realidad el objeto burlado en esta clase de pruebas. Y lo que hicieron. Además, imprimimos el método celular de este objeto espía con los 2323 argumentos. Si esto no fuera un espía en el servicio de la casa de empeño, debería devolver 30 porque eso es lo que hacemos. Si el método celular del objeto de servicio de la tienda de empeño se llama con dos dobles, entonces debe por defecto, devolver 302223 son dos dobles. Y cuando ejecutamos esto, se puede ver que en primer lugar, éste devuelve 30. Porque entonces y 20 es 30. Y específicamente estrictamente para imprimir en pantalla la suma de los dos parámetros. Además, devuelve 0. ¿ Y por qué está volviendo eso 0? Porque el objeto de servicio punch up es en realidad de un simulacro de vidrio, que era solo una interfaz. Y el método cell no está realmente implementado, por lo que devuelve el doble predeterminado, que es 0. Si esto no era un espía, y en realidad teníamos aquí en lugar de SPI al servicio de la casa de empeños. Se puede ver que por defecto devolverá 30. Como se puede ver aquí, porque eso es lo que el comportamiento de éste entonces devuelve declaración no tiene que hacer. Entonces. Esa es la diferencia entre un objeto marcado con comportamiento ADD y un objeto espía sin marcar. El espía del objeto simulacro en realidad llamará el método real de ese objeto. También podemos usar en lugar de la clase Spy para llamar método real, método en un objeto marcado para llamar al método real. Esa también es una variante aquí, pero no se recomienda y se recomienda utilizar un espía para estas marcas parciales. Y la razón principal de eso es porque espiar que los pollos que tenemos es en realidad instanciado. Cuando creamos un objeto simulacro, el mono TO crea una instancia de un objeto, que más o menos sólo el esqueleto del mismo. Entonces con el mínimo desnudo, y puede haber una posibilidad de que esas dependencias requeridas no se inicialicen cuando se esté creando el mercado con el Mockito. Y esto puede llevar a malos resultados al final. Y es por eso que las especias son realmente preferidas en lugar del método de código a continuación, método que también está disponible en este contexto. Por eso espero que ustedes sacaran algo de este tutorial y entendieran qué son los espías y cómo pueden ser útiles para nosotros. Gracias de nuevo por seguir conmigo hasta el final de esta conferencia. Y espero veros chicos en la siguiente.