¿Qué es Jest?

7/12

Lectura

Jest es una herramienta que nos ayuda a automatizar nuestras pruebas.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Les recomiendo mucho instalar esta extension que les ahorra mucho codigo ya que las pruebas suelen ser repetitivas https://marketplace.visualstudio.com/items?itemName=andys8.jest-snippets

Ademas les recomiendo escriban esto en su settings.json

	"typeAcquisition": {
		"include": ["jest"]
	}

lo cual les ayudara a que el editor reconozca las funciones de jest

Pd para abrir settings.json pueden hacer esto

ctrl + shift + p

y despues escriben json les debe aparecer esta opcion

Genial la clase, aqui unas anotaciones

describe(name, testSuite), donde name:String, testSuite:Function
test(name, test), donde name: String, test:Function
expect(value).matcher()

Jest trabaja con matchers, que son meramente funciones que nos permiten probar nuestro código de diferentes maneras.
Hay múltiples matchers, pero en esta clase solo utilizaremos dos, .toBe y .toEqual

.toBe Compara valores primitivos. Utiliza la función Object.is para hacer las validaciones, la cual es mucho más confiable que un ===.
.toEqual Compara recursivamente los valores de las propiedades de la instancia del objeto enviado (esto se le conoce como “deep equality”). Utiliza de igual manera la función Object.is para hacer las validaciones.

hola compañeros necesito ayuda con esto. no consigo pasar el test me sale este error \> test:unit \> vue-cli-service test:unit FAIL tests/unit/example.spec.js ● Test suite failed to run Configuration error: Could not locate module @/components/HelloWorld.vue mapped as: C:\Users\lourd\OneDrive\Escritorio\Vuedex\src\\$1. Please check your configuration for these entries: { "moduleNameMapper": { "/^@\\/(.\*)$/": "C:\Users\lourd\OneDrive\Escritorio\Vuedex\src\\$1" }, "resolver": undefined } 1 | import { shallowMount } from '@vue/test-utils' \> 2 | import HelloWorld from '@/components/HelloWorld.vue' | ^ 3 | 4 | describe('HelloWorld.vue', () => { 5 | it('renders props.msg when passed', () => { at createNoMappedModuleFoundError (node\_modules/jest-resolve/build/resolver.js:579:17) at Object.\<anonymous> (tests/unit/example.spec.js:2:1) at TestScheduler.scheduleTests (node\_modules/@jest/core/build/TestScheduler.js:333:13) at runJest (node\_modules/@jest/core/build/runJest.js:404:19) at \_run10000 (node\_modules/@jest/core/build/cli/index.js:320:7) at runCLI (node\_modules/@jest/core/build/cli/index.js:173:3) Test Suites: 1 failed, 1 total Tests: 0 total Snapshots: 0 total Time: 0.939 s Ran all test suites. Espero que alguien me pueda ayudar a resolverlo. Gracias

Hice el de jest de react y no comprendi tanto el sentido desde test como en este caso, debo decir que a veces un poco de lectura es buena!!

interesante sencillo como comprobar si los resultados son los que espero

Este tipo de prueba es para probar los valores de datos iniciales cierto? pero que utilidad tiene en un ejemplo real?, lo que se prueba ahí es info “harcodeada”, no termino de entender el caso de uso de este tipo de prueba, no son valores que vengan de api o dinamicos.

Increíble, en resumen, describe nos sirve para agrupar un grupo de funciones de test, y cada test es el que hace la validación correspondiente, y para esto nos ayuda Jest, el cual se instaló al instalar Vue Test Utils:D!

Entendido. Intenté que el test me arrojara algo nuevo y me logró indicar de manera clara lo que esperaba y lo que obtuvo.

 Se probará la calidad de los productos
    √ Calidad del hevo (3ms)
    × Calidad de la espinaca (4ms)

  ● Se probará la calidad de los productos › Calidad de la espinaca

    expect(received).toEqual(expected) // deep equality

    Expected: {"color": "verde", "estado": 1}
    Received: [{"color": "verde", "estado": 1}, {"color": 3, "estado": 2}]