¿Qué es la herramienta mock de Jest para test?

Contenido del Bootcamp Dirigido por: | Última modificación: 23 de septiembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

La herramienta mock de jest para test, como verás a lo largo de este post, te permitirá cambiar la forma de entender las comprobaciones sobre las promesas y peticiones que los desarrolladores realicen en un ejercicio de programación para el desarrollo web.

Herramienta mock de Jest para test

La función o herramienta mock de Jest para test es un elemento que te ayudará a cambiar la forma en la que ejecutas las comprobaciones sobre las peticiones que realizamos en nuestro programa de desarrollo web.

Las funciones de Mock, según la documentación de Jest, te permitirá comprobar la relación entre el código al borrar la función primaria que hemos implementando y, a su vez, capturar las llamadas a la función. Hay dos formas de hacerlo: puedes crear un mock para el test o escribir un manual de mock para sobrejecutar la dependencia de otros módulos.

Elementos de mock de Jest

Los elementos del módulo de mock de Jest son muy útiles para desarrollar las comprobaciones sobre las peticiones o las llamadas. Algunos de estos son:

  • Propiedad .mock: es el lugar en el que almacena los datos referentes la función de llamada y cómo se ha devuelto. En los proyectos de código podemos encontrar .this, en vez de .mock.
  • Valores de retorno: se pueden utilizar para utilizar valores de testeo en el código.
  • Módulos de mocking: se construyan un mock para imitar los módulos que necesitamos. Para utilizarlo, necesitamos métodos como .get y mockResolvedValue para realizar las comprobaciones correspondientes.

Ejemplo de herramienta mock de Jest para test

A continuación, verás un ejemplo de herramienta mock de Jest para test, donde se utiliza la opción de los módulos de mocking, anteriormente explicada, para la comprobación sobre la petición. En este caso, utilizamos la petición que realizamos en el ejercicio sobre los test adicionales de la clase user y ahora vamos a ver cómo se realizar el mock de este test.

En primer lugar, debes recordar que el método para ejecutar el mock es:

jest.mock ('axios');

Para aprender a describir los test a partir del mocking, puedes visualizar el siguiente extracto de código. Aquí, por ejemplo, testamos que la petición nos devuelva un array de usuarios con las variables correspondientes. Tendremos que definir dos constantes, donde la primera nos devolverá la respuesta con cada variable y el dataSet, que después se ejecutará con el método .get.mockResolvedValue.

Para este test esperamos dos aserciones: la primera, la lista de usuarios, debería ser un array, y el segundo, los valores de esa misma UserList, devuelvan los valores correctos.

describe ('Mocking', () => {
    it ('should return an array of users, being a user an object with props: id, name, username', async () => {
        const users = [{id:1, name: 'foo', username: ' '}]
        const dataSet = {data: users}
        axios.get.mockResolvedValue (dataset)

        expect.assertions (2)
        try {
              const userList = await Users.all()
              expect (userList).toBeArray() // primera aserción
              expect (userList [0]).toMatchObject{id: 1, name: 'fo', username: ' ' // segunda aserción
            } catch (e)  {
    }

Como esto ha sido una visualización rápida del ejemplo, si quieres profundizar en este ejercicio práctico, puedes echarle un vistazo al post sobre test adicionales para la clase user.js, que te ayudará a entender la responsabilidades de la herramienta mock de Jest para test.

Ahora que conoces en qué consiste la herramienta mock de Jest para test y cómo puedes aprovechar de los mocks para realizar comprobaciones sobre tus peticiones y promesas, es el momento de empezar a ejecutarlos. Por tanto, te invitamos a echarle un ojo al programa que ofrecemos en nuestra formación de KeepCoding, el Bootcamp Full Stack, que te permitirá entrar en el mundo del sector IT con bases muy buenas para obtener oportunidades laborales de forma efectiva. ¡Únete ahora y cambia tu vida!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado