Jest CLI Options
A ferramenta de linha de comando do Jest
possui inúmeras opções úteis. Você pode executar jest --help
para exibir todas as opções disponíveis. Muitas das opções exibidas abaixo também podem ser usadas juntas para rodar testes da forma que você desejar. Cada uma das opções de Configuração do Jest também podem ser especificadas através do CLI.
Aqui está um breve resumo:
Executando pela linha de comando #
Executar todos os testes (padrão):
jest
Executar apenas testes especificados com um padrão ou nome de arquivo:
jest my-test #or
jest path/to/my-test.js
Executar testes para arquivos alterados baseado no hg/git (arquivos não commitados):
jest -o
Executar testes para os arquivos path/to/fileA.js
e path/to/fileB.js
:
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
Execute testes que correspondam com o nome da spec (basicamente que correspondam ao nome que esteja no describe
ou test
).
jest -t name-of-spec
Execute em modo "watch":
jest --watch #runs jest -o by default jest --watchAll #runs all tests
O modo "watch" também permite especificar o nome ou diretório de um arquivo podendo assim focar em um contexto específico de testes.
Usando com "npm scripts" #
Se você executar o Jest via npm test
, você ainda pode passar argumentos para a linha de comando inserindo um --
entre npm test
e os argumentos do Jest. Ao invés de:
jest -u -t="ColorPicker"
você pode usar:
npm test -- -u -t="ColorPicker"
Opções do CLI têm prioridade sobre os valores da configuração.
Opções #
Referência #
jest <regexForTestFiles>
#
Quando você roda jest
com um argumento, aquele argumento é tratado como uma expressão regular para corresponder aos arquivos do seu projeto. É possível executar a suíte de testes provendo um "pattern", padrão construído usando expressões regulares. Apenas os arquivos que corresponderem com o "pattern" serão selecionados e executados. Nota: dependendo do seu terminal, você pode precisar colocar esse parâmetro entre aspas: jest "my.*(complex)?pattern"
.
--bail
#
Abreviação: -b
. Sai da suite de testes imediatamente assim que o primeiro teste falhar.
--cache
#
Se deve usar o cache. O padrão é verdadeiro. Desabilite o cache usando --no-cache
. Nota: o cache deve apenas ser desabilitado se você estiver passando por problemas relacionados a ele. De modo geral, desabilitar o cache vai deixar o Jest pelo menos duas vezes mais lento.
If you want to inspect or clear the cache, use --showConfig
and look at the cacheDirectory
value.
--ci
#
Quando esta opção é fornecida, Jest assumirá que é executado em um ambiente de CI (integração contínua). Isso muda o comportamento quando é encontrado um novo "snapshot". Em vez do comportamento normal de armazenar um novo "snapshot" automaticamente, o teste irá falhar e exigir Jest ser executado com --updateSnapshot
.
--collectCoverageFrom=<glob>
#
Relativo ao diretório raiz, padrão "glob" que corresponde aos arquivos de onde as informações de cobertura de código precisam ser coletadas.
--colors
#
Força os resultados dos testes a serem destacados mesmo se o stdout não for "TTY".
--config=<path>
#
Abreviação: -c
. O caminho para o arquivo de configuração do Jest especificando como encontrar e executar os testes. Se nenhum rootDir
foi definindo na configuração, o diretório atual será assumido como o raiz para o seu projeto. Este também pode ser um valor codificado em JSON que o Jest usará como configuração.
--coverage
#
Indica que as informações de coleta do teste devem ser coletadas e reportadas no console.
--debug
#
Exibe informações de debug sobre a sua configuração do Jest.
--env=<environment>
#
O ambiente de testes usado para todos os testes. Ele pode apontar para qualquer arquivo ou módulo node. Exemplos: jsdom
, node
ou path/to/my-environment.js
.
--expand
#
Abreviação: -e
. Use este parâmetro para mostrar erros completos ao invés de detalhes.
--findRelatedTests <spaceSeparatedListOfSourceFiles>
#
Localize e execute testes que cobrem uma lista, separada por espaços, de arquivos de origem que foram passados como argumentos. Útil para integração do "hook" de pre-commit para rodar a quantidade mínima de testes necessária.
--forceExit
#
Força o Jest a fechar depois que todos os testes estiverem concluídos. Isto é útil quando recursos configurados pelo código de teste não podem ser limpos adequadamente. Nota: Esta funcionalidade é uma válvula de escape. Se o Jest não fechar ao final da execução de um teste, significa que recursos externos estão sendo mantidos aguardando ou temporizadores que ainda estão pendentes em seu código. É aconselhável destruir recursos externos depois de cada teste para certificar que o Jest possa ser fechado corretamente.
--help
#
Exibe a informação de ajuda, similar a esta página.
--json
#
Imprime os resultados do teste em JSON. Este modo enviará todas as outras saídas dos testes e mensagens do usuário para o stderr.
--outputFile=<filename>
#
Escreve os resultados dos testes em um arquivo quando a opção --json
também é especificada.
--lastCommit
#
Executará todos os testes afetados por arquivos alterados no último commit feito.
--listTests
#
Lista todos testes no formato JSON que o Jest executará dado alguns argumentos, e termina. Este comando pode ser usado junto com --findRelatedTests
para saber quais testes Jest irá executar.
--logHeapUsage
#
Imprime os logs de uso da heap depois de cada teste. Útil para debug de vazamento de memória. Use junto com --runInBand
e --expose-gc
no node.
--maxWorkers=<num>
#
A versão comprimida: -w
. Especifica o número máximo de workers que o worker-pool irá entregar para os testes em execução. O valor padrão é o número de núcleos disponíveis em sua máquina. Pode ser útil ajustar isto em ambientes com recursos limitados, como CIs mas o padrão deve ser adequado para a maioria dos casos de uso.
--noStackTrace
#
Desabilita o rastreio da pilha na saída dos resultados dos testes.
--notify
#
Ativa notificações para resultados de testes. Bom para quando você não quer que sua consciência se concentre em qualquer outra coisa que não seja testar Javascript.
--onlyChanged
#
Abreviação: -o
. Tenta identificar quais testes devem ser executados baseado nos arquivos modificados no repositório atual. Só funciona se você estiver rodando testes em um repositório git/hg no momento e requer um gráfico de dependências estático (ou seja, sem "requires" dinâmicos).
--projects <project1> ... <projectN>
#
Execute testes de um ou mais projetos.
--runInBand
#
Abreviação: -i
. Executa todos os testes do processo atual serialmente, ao invés de criar um conjunto de trabalhadores de processos filhos que executam os testes. Pode ser útil para depuração.
--setupTestFrameworkScriptFile=<file>
#
O caminho para um módulo que executa algum código para configurar a estrutura de testes antes de cada teste. Tenha cuidado que arquivos importados pelo script de instalação não irão ser simulados durante o teste.
--showConfig
#
Imprime sua configuração do Jest e fecha.
--silent
#
Evita que testes imprimam mensagens no console.
--testNamePattern=<regex>
#
Abreviação: -t
. Executa apenas testes cujos nomes correspondam a um regex.
--testPathPattern=<regex>
#
Uma string de padrão regexp que é comparada com todos os caminhos para os testes antes da execução dos testes.
--testRunner=<path>
#
Permite que você especifique um executador de testes personalizado.
--updateSnapshot
#
Abreviação: -u
. Use este sinalizador para gravar novamente cada snapshot que falhar durante esta execução do teste. Pode ser usado em conjunto com um padrão da suite de teste ou com --testNamePattern
para regravar os "snapshots".
--useStderr
#
Desvia toda a saída para o stderr.
--verbose
#
Exibe resultados de testes individuais com a hierarquia da suite de testes.
--version
#
Abreviação: -v
. Imprime a versão e fecha.
--watch
#
Vigia arquivos por alterações e roda novamente testes relacionados aos arquivos alterados. Se você deseja rodar novamente todos os testes quando um arquivo for modificado, use a opção --watchAll
.
--watchAll
#
Vigia arquivos para alterações e roda novamente todos os testes quando algo muda. Se você deseja rodar apenas testes que dependem dos arquivos alterados, use a opção --watch
.
--watchman
#
Se deseja usar o "watchman" para rastreamento de arquivos. Valor padrão é "true". Desative usando --no-watchman
.