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
También puede usar la opción -t, --testNamePattern <pattern>
para filtrar las pruebas por nombre completo. Esto puede ser útil cuando desea filtrar por el nombre definido dentro de un archivo en lugar del propio nombre del archivo.
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');
});