Skip to content

Bun possui um test runner integrado com uma API expect semelhante ao Jest.


Para usá-lo, execute o comando bun test do diretório do seu projeto. O runner de testes buscará recursivamente todos os arquivos no diretório que correspondem aos seguintes padrões e executará os testes contidos neles.

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

Veja como é a saída de uma execução de teste típica. Neste caso, há três arquivos de teste (test.test.js, test2.test.js e test3.test.js) contendo dois testes cada (add e 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 executar apenas determinados arquivos de teste, passe um argumento posicional para bun test. O runner executará apenas arquivos que contêm esse argumento em seu caminho.

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]

Todos os testes têm um nome, definido usando o primeiro parâmetro da função test. Testes também podem ser agrupados em suítes com 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 quais testes são executados por nome, use a flag -t/--test-name-pattern.

Adicionar -t add executará apenas testes com "add" no nome. Isso funciona com nomes de teste definidos com test ou nomes de suíte de teste definidos com 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]

Consulte Docs > Test Runner para documentação completa sobre o runner de testes.

Bun by www.bunjs.com.cn edit