Vamos usar o Stryker para avaliar a qualidade dos nossos testes usando testes de mutação.
Primeiramente vamos instalar o Stryker no projeto executando os comandos abaixo, na raiz do projeto
npm install @stryker-mutator/core@7.1.1 -D
npm install @stryker-mutator/jest-runner@7.1.1 -D
Agora vamos criar o arquivo de configuração do Stryker, executando o comando abaixo na raiz do projeto
npx stryker init
Selecione a opção "None/other" para frameworks, "jest" para ferramenta de testes, "html" para saída dos relatórios, "npm" para gerenciador de pacotes e "JSON" para arquivo de configuração do Stryker.
Seu arquivo de configuração "stryker.conf.json" deve ficar conforme abaixo
{
"$schema": "./node_modules/@stryker-mutator/core/schema/stryker-schema.json",
"_comment": "This config was generated using 'stryker init'. Please take a look at: https://stryker-mutator.io/docs/stryker-js/configuration/ for more information.",
"packageManager": "npm",
"reporters": [
"html",
"clear-text",
"progress"
],
"testRunner": "jest",
"testRunner_comment": "Take a look at (missing 'homepage' URL in package.json) for information about the jest plugin.",
"coverageAnalysis": "perTest",
"tempDirName": "stryker-tmp"
}
Adicione no final do arquivo ".gitignore" as linhas abaixo
# Stryker
reports
Vamos executar o Stryke com o comando abaixo na raiz do projeto
npx stryker run
Aguarde o Stryker terminar e abra no navegador o arquivo que estará em "reports/mutation/mutation.html".