Skip to content

CI CD Testes Backend

filipe_sales edited this page Apr 22, 2023 · 2 revisions

Funcionamento

Para melhor manutenibilidade do código fonte bem toda solicitação de Merge Request nas Branchs main e develop, será executado as rotinas de testes a fim de validar as funcionalidades existentes.

image

Testes Automatizados Backend

Esta automação de testes de backend foi criada para garantir a qualidade do código e a funcionalidade adequada do projeto. A automação é acionada sempre que um push é realizado nas branches main e develop, ou quando um pull request é aberto, sincronizado ou reaberto.

Fluxo de Trabalho

O fluxo de trabalho consiste nos seguintes passos:

  1. Checkout: O código é verificado usando a ação actions/checkout@v3, com a opção fetch-depth configurada para 0, para garantir uma análise mais relevante.

  2. Configurar JDK 17: A versão 17 do Java é configurada utilizando a ação actions/setup-java@v3, com a distribuição 'zulu'.

  3. Cache SonarCloud packages: Os pacotes do SonarCloud são armazenados em cache usando a ação actions/cache@v3, para acelerar a análise.

  4. Cache Maven packages: Os pacotes do Maven são armazenados em cache usando a ação actions/cache@v3, para acelerar a construção do projeto.

  5. Test: Os testes são executados no diretório ./backend/meuegresso/ usando o comando mvn -B test -Dspring.profiles.active=test.

Configuração

Para configurar a automação, adicione o conteúdo fornecido ao arquivo .github/workflows/test-backend.yml de seu projeto.

name: "Testes Automatizados"
on:
  push:
    branches:
      - main
      - develop
  pull_request:
    types: [opened, synchronize, reopened]
jobs:
  build:
    name: Build and analyze
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0  # Shallow clones should be disabled for a better relevancy of analysis
      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: 17
          distribution: 'zulu' # Alternative distribution options are available.
      - name: Cache SonarCloud packages
        uses: actions/cache@v3
        with:
          path: ~/.sonar/cache
          key: ${{ runner.os }}-sonar
          restore-keys: ${{ runner.os }}-sonar
      - name: Cache Maven packages
        uses: actions/cache@v3
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2
      - name: Test
        working-directory: ./backend/meuegresso/
        run: mvn -B test -Dspring.profiles.active=test

Depois de configurar a automação, os testes serão executados automaticamente de acordo com os eventos especificados.

Clone this wiki locally