Skip to content

Instantly share code, notes, and snippets.

@joaovictorino
Last active September 30, 2023 01:04
Show Gist options
  • Save joaovictorino/23d6a53f634c141c34d068db01236a88 to your computer and use it in GitHub Desktop.
Save joaovictorino/23d6a53f634c141c34d068db01236a88 to your computer and use it in GitHub Desktop.
Executando testes de mutação

Executando testes de mutação

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".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment