Comando completo para executar um único teste Jest
Comando:
node <path-to-jest> -i <you-test-file> -c <jest-config> -t "<test-block-name>"
<path-to-jest>
:
- Janelas:
node_modules\jest\bin\jest.js
- Outras:
node_modules/.bin/jest
-i <you-test-file>
: caminho para o arquivo com testes ( js
ou ts
)
-c <jest-config>
: caminho para um arquivo de configuração Jest separado (JSON), se você mantiver sua configuração Jest package.json
, não precisará especificar esse parâmetro (o Jest o encontrará sem a sua ajuda)
-t <the-name-of-test-block>
: Na verdade, é um nome (o primeiro parâmetro) de describe(...)
, it(...)
ou test(...)
bloco.
Exemplo:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
Então, o comando
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
testará it("1 + 1 = 2", ...)
, mas se você alterar o -t
parâmetro para "math tests"
, ele executará os dois testes no describe("math tests",...)
bloco.
Observações:
- Para Windows, substitua
node_modules/.bin/jest
por node_modules\jest\bin\jest.js
.
- Essa abordagem permite depurar o script em execução. Para habilitar a depuração, adicione
'--inspect-brk'
parâmetro ao comando
Executando um teste Jest único por meio de scripts NPM em 'package.json'
Tendo o Jest instalado, você pode simplificar a sintaxe deste comando (acima) usando scripts do NPM . Em "package.json"
adicionar um novo script para a "scripts"
seção:
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
Nesse caso, usamos um alias em 'jest'
vez de escrever o caminho completo para ele. Além disso, não especificamos o caminho do arquivo de configuração, pois também podemos inseri-lo "package.json"
e o Jest analisará por padrão. Agora você pode executar o comando:
npm run test:math
e o "math tests"
bloco com dois testes será executado. Ou, é claro, você pode especificar um teste específico por seu nome.
Outra opção seria extrair o <the-name-of-test-block>
parâmetro do "test:math"
script e passá-lo do comando NPM:
package.json:
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
Comando:
npm run test:math "math tests"
Agora você pode gerenciar o nome do (s) teste (s) de execução com um comando muito mais curto.
Observações:
- O
'jest'
comando funcionará com scripts do NPM porque
NPM faz "./node_modules/.bin"
a primeira entrada na PATH
variável de ambiente ao executar todos os scripts de ciclo de vida, então isso vai funcionar bem, mesmo se o seu programa não está instalado globalmente ( blogue NPM )
- Essa abordagem parece não permitir a depuração porque o Jest é executado via seu binário / CLI , não via
node
.
Executando o teste Jest selecionado no Visual Studio Code
Se você estiver usando o Visual Studio Code, poderá tirar proveito dele e executar o teste atualmente selecionado (no editor de código) pressionando o F5
botão Para fazer isso, precisaremos criar um novo bloco de configuração de inicialização no ".vscode/launch.json"
arquivo. Nessa configuração, usaremos variáveis predefinidas que são substituídas pelos valores apropriados (infelizmente nem sempre ) ao executar. De todos os disponíveis, estamos interessados apenas nestes:
${relativeFile}
- o arquivo aberto atual relativo a
${workspaceFolder}
${selectedText}
- o texto selecionado atual no arquivo ativo
Mas antes de escrever a configuração de lançamento, devemos adicionar o 'test'
script em nosso 'package.json'
(se ainda não o tivermos).
package.json:
"scripts": {
"test": "jest"
}
então podemos usá-lo em nossa configuração de lançamento.
Iniciar configuração:
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
na verdade, faz o mesmo que os comandos descritos anteriormente nesta resposta. Agora que tudo está pronto, podemos executar qualquer teste que desejarmos sem precisar reescrever os parâmetros de comando manualmente.
Aqui está tudo o que você precisa fazer:
- Selecione a configuração de inicialização criada atualmente no painel de depuração:
- Abra o arquivo com testes no editor de código e selecione o nome do teste que você deseja testar (sem as aspas):
- Pressione o
'F5'
botão
E pronto!
Agora, para executar qualquer teste que você deseja, basta abri-lo no editor, selecione seu nome e pressione F5.
Infelizmente, não será "voila" nas máquinas Windows porque elas substituem (quem sabe o porquê) a ${relativeFile}
variável pelo caminho com barras invertidas e o Jest não entenderia esse caminho.
Observações:
- Para executar no depurador, não se esqueça de adicionar o
'--inspect-brk'
parâmetro
- Neste exemplo de configuração, não temos o parâmetro de configuração do Jest assumindo que ele está incluído
'package.json'
.