Skip to content

Bun tiene un ejecutor de pruebas integrado con una API expect similar a Jest.


Para usarlo, ejecuta el comando bun test desde el directorio de tu proyecto. El ejecutor de pruebas buscará recursivamente todos los archivos en el directorio que coincidan con los siguientes patrones y ejecutará las pruebas que contienen.

txt
*.test.{js|jsx|ts|tsx}
*_test.{js|jsx|ts|tsx}
*.spec.{js|jsx|ts|tsx}
*_spec.{js|jsx|ts|tsx}

Así es como se ve la salida de una ejecución de pruebas típica. En este caso, hay tres archivos de prueba (test.test.js, test2.test.js, y test3.test.js) que contienen dos pruebas cada uno (add y multiply).

sh
bun test
txt
test.test.js:
✓ add [0.87ms]
✓ multiply [0.02ms]

test2.test.js:
✓ add [0.72ms]
✓ multiply [0.01ms]

test3.test.js:
✓ add [0.54ms]
✓ multiply [0.01ms]

 6 pass
 0 fail
 6 expect() calls
Ran 6 tests across 3 files. [9.00ms]

Para ejecutar solo ciertos archivos de prueba, pasa un argumento posicional a bun test. El ejecutor solo ejecutará archivos que contengan ese argumento en su ruta.

sh
bun test test3
txt
test3.test.js:
✓ add [1.40ms]
✓ multiply [0.03ms]

 2 pass
 0 fail
 2 expect() calls
Ran 2 tests across 1 files. [15.00ms]

Todas las pruebas tienen un nombre, definido usando el primer parámetro de la función test. Las pruebas también se pueden agrupar en suites con describe.

ts
import { test, expect, describe } from "bun:test";

describe("math", () => {
  test("add", () => {
    expect(2 + 2).toEqual(4);
  });

  test("multiply", () => {
    expect(2 * 2).toEqual(4);
  });
});

Para filtrar qué pruebas se ejecutan por nombre, usa la bandera -t/--test-name-pattern.

Agregar -t add solo ejecutará pruebas con "add" en el nombre. Esto funciona con nombres de pruebas definidos con test o nombres de suites de pruebas definidos con describe.

sh
bun test -t add
txt
test.test.js:
✓ add [1.79ms]
» multiply

test2.test.js:
✓ add [2.30ms]
» multiply

test3.test.js:
✓ add [0.32ms]
» multiply

 3 pass
 3 skip
 0 fail
 3 expect() calls
Ran 6 tests across 3 files. [59.00ms]

Consulta Documentación > Ejecutor de Pruebas para documentación completa sobre el ejecutor de pruebas.

Bun por www.bunjs.com.cn editar