Skip to content

Instantly share code, notes, and snippets.

@joaovictorino
Last active June 25, 2024 23:41
Show Gist options
  • Save joaovictorino/e21f9d556c5e028940c92ddb5a790550 to your computer and use it in GitHub Desktop.
Save joaovictorino/e21f9d556c5e028940c92ddb5a790550 to your computer and use it in GitHub Desktop.
Analisando nosso código

Analisando nosso código

Agora vamos analisar nosso código utilizando o SonarQube para isso, portanto vamos instalar um pacote em nossa aplicação, execute o comando abaixo no terminal, na raiz do projeto

npm install sonarqube-scanner@3.1.0 jest-sonar-reporter@2.0.0 -D

Agora vamos criar o arquivo de configuração do SonarQube na raiz do projeto.
Crie o arquivo "sonar-project.properties" com o conteúdo abaixo

sonar.projectKey=bank
sonar.sources=.
sonar.host.url=http://localhost:9000
sonar.token=sqp_4f5a679c6a898d9da21fe3bc330e95b2261020f3

sonar.tests=__tests__
sonar.testExecutionReportPaths=test-report.xml
sonar.test.inclusions=**/*.test.ts
sonar.exclusions=coverage/lcov-report/**/*.*, node_modules/**/*.*, jest.config.js, reports/**/*.*, features/**/*.*, cucumber.js
sonar.javascript.lcov.reportPaths=coverage/lcov.info

Lembre-se de alterar a chave "sonar.token" no arquivo para o token que o SonarQube gerou para você na atividade anterior.
Agora altere o arquivo ".gitignore", adicionando ao final do arquivo a seguinte linha

# SonarQube
.scannerwork

Altere o arquivo "package.json", adicionando a linha abaixo dentro de "scripts", não esqueça de colocar virgula no item acima, pois é a sintaxe do arquivo JSON

 "sonar:scanner": "sonar-scanner"

Altere o arquivo "jest.config.js" conforme abaixo

/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
  verbose: true,
  preset: 'ts-jest',
  testEnvironment: 'node',
  testMatch: ['<rootDir>/**/*.test.ts'],
  testResultsProcessor: "jest-sonar-reporter",
};

Execute o Jest novamente

npx jest

Agora finalmente execute o Sonar Scanner que irá varrer seu projeto e levar a informações para o SonarQube

npm run sonar:scanner

Aguarde a finalização e vá até o navegador onde o SonarQube estava aberto para analisar os números do nosso código.

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