Filtrado de Pruebas
Filtrado, tiempos de espera y ejecución concurrente para suites y pruebas.
CLI
Puedes usar la CLI para filtrar archivos de prueba por nombre:
$ vitest basic
Solo se ejecutarán los archivos de prueba que contengan basic
. Por ejemplo:
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
Especificando un Tiempo de Espera
Opcionalmente, puedes pasar un tiempo de espera en milisegundos como tercer argumento a las pruebas. El valor predeterminado es de 5 segundos.
import { test } from 'vitest';
test('nombre de la prueba', async () => {
/* ... */
}, 1000);
Los hooks también pueden recibir un tiempo de espera, con el mismo valor predeterminado de 5 segundos.
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);
Omitiendo Suites y Pruebas
Usa .skip
para evitar la ejecución de ciertas suites o pruebas.
import { assert, describe, it } from 'vitest';
describe.skip('suite omitida', () => {
it('test', () => {
// Suite omitida, no se produce ningún error.
assert.equal(Math.sqrt(4), 3);
});
});
describe('suite', () => {
it.skip('prueba omitida', () => {
// Prueba omitida, no se produce ningún error.
assert.equal(Math.sqrt(4), 3);
});
});
Eligiendo Suites y Pruebas para Ejecutar
Usa .only
para ejecutar únicamente ciertas suites o pruebas.
import { assert, describe, it } from 'vitest';
// Solo esta suite (y otras marcadas con .only) se ejecutarán.
describe.only('suite', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('otra suite', () => {
it('prueba omitida', () => {
// Prueba omitida, ya que las pruebas se están ejecutando en modo "only".
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// Solo esta prueba (y otras marcadas con .only) se ejecutarán.
assert.equal(Math.sqrt(4), 2);
});
});
Suites y Pruebas Pendientes
Usa .todo
para marcar suites y pruebas que aún no se han implementado.
import { describe, it } from 'vitest';
// Se mostrará un registro en el informe para esta suite.
describe.todo('suite no implementada');
// Se mostrará un registro en el informe para esta prueba.
describe('suite', () => {
it.todo('prueba no implementada');
});