Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Globo Aplausos Wiki Globo Aplausos Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Globo Aplausos
  • Globo Aplausos WikiGlobo Aplausos Wiki
  • Wiki
  • Qualidade

Last edited by Henrique Cardoso Zanette Nov 08, 2023
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Qualidade

Home Escopo Processo Design/Mockups Configuração Arquitetura Gerência Código BD Qualidade Frontend Backend

Descrição

Esta página visa apresentar os padrões de qualidade utilizados no projeto Globo Aplausos.

Sumário

  • Testes Unitários
    • Como escrever testes unitários

Testes Unitários

opengraph

A utilização de testes é algo essencial durante o desenvolvimento de software. No projeto Globo Aplausos, utilizamos testes unitários no Backend da aplicação para garantir a integridade de suas classes e módulos, além de garantir que as funcionalidades da API comportam-se de maneira esperada.

Para escrever os testes unitários em NestJS, utilizamos a ferramenta Jest, que nos possibilita criar os módulos, serviços e controlares da aplicação para que possamos testá-los diretamente, simulando chamadas a API.

Como escrever testes unitários?

Para escrever um teste unitário, primeiro deve-se identificar a classe que está sendo testada. O arquivo de testes deve seguir a nomenclatura da classe original, como por exemplo, para classe auth.service.ts o nome do arquivo de testes será auth.service.spec.ts, para que ele possa ser identificado pelo Jest. O arquivo também deve sempre estar próximo a classe que ele visa testar, mantendo-se sempre no mesmo nível de repositório.

Com o arquivo de testes criados, podemos começar a descrever nossos casos de teste, utilizando a seguinte estrutura:

describe('Nome da classe testada', () => {

- Declarar a classe a ser testada e suas dependências.


  beforeEach(() => {
    - Inicializa as classes.
  });


  describe('Caso de teste', () => {
     
     it('Deve fazer tal coisa', async () => {
          
         Testa alguma coisa...

    });
  });
});

Analisando a estrutura acima, o método beforeEach será rodado antes de cada um dos casos de teste, como por exemplo inicializar as classes e dependências a serem testadas ou providenciar algum Mock.

Para declarar os casos de teste, seguimos a função de describe, para criar os grupos que irão armazenar estes casos de testes, e a função it para declarar um caso de teste.

Debugando um teste

Para debugar um teste, é necessário:

  1. Instalar as extensões Jest e Jest Runner, para que seja possível executar rodar um teste individualmente.

  2. Ativar o debug auto attach toggle do VSCode para smart ou always.

  3. Executar o teste desejado, colocando breakpoints onde for necessário investigar.

Clone repository
  • Analytics
  • Arquitetura
  • Backend
  • Banco de Dados
  • Codigo
  • Configuracao
  • Design_Mockups
  • Escopo
  • Frontend
  • Processo
  • Qualidade
  • gerencia
  • Home