Skip to content

08_unittest

Douglas Fernandes Pereira da Silva Jr edited this page Jan 20, 2020 · 9 revisions

Unit Test

Agora a ideia é gerar unit tests simples.

Começamos este passo na branch t03/end

Todos os testes são feitos project/src/test/java/. Aonde teremos que criar novamente todas as packages.

A proposta é testar de formar isolada cada classe que criamos, sem considerar suas dependências.

Unit Test - Qualquer Classe

  1. Vamos ajustar as nossos modelos, para facilitar os testes.
  • Altere a classe ClientResponse.java. DIFF.
  • Altere a classe Client.java. DIFF.

Agora todas as alterações serão feitas na pasta project/src/test/java. Todas as packages devem ser criadas novamente.

  1. Altere a classe DemoApplicationTests DIFF.
  2. Na package com.example.project.configuration crie a classe MapperConfigTest Arquivo final.
  3. Na package com.example.project.configuration crie a classe SwaggerConfigTest Arquivo final.
  4. Na package com.example.project.domain.mapper crie a classe ClientMapperTest Arquivo final.
  5. Na package com.example.project.domain.validators crie a classe PhoneValidatorTest Arquivo final.

Desafio: Criar o teste unitário para o validador de data.

Para ver as alterações completas DIFF das alterações

Unit Test - Services

  1. Na package com.example.project.service crie a classe ClientServiceTest Arquivo final.

Desafio: Completar os testes unitários da ClientServiceTest.

Unit Test - Controller

  1. Na package com.example.project.controller crie a classe ClientControllerTest Arquivo final.
  2. Na package com.example.project.domain.dto.request crie a classe ClientCreateRequestTest Arquivo final.

Para ver as alterações completas DIFF das alterações

Extra Configurando o Jacoco

Através do Jacoco, conseguimos ver a cobertura de testes do nosso código.

  1. Edite o arquivo build.gradle. Diff. Arquivo final.
  2. No terminal, execute o comando mvn test
  • Este comando vai gerar a pasta /target/site/jacoco. Agora temos a cobertura dos nossos testes no formato HTMl.

Para ver as alterações completas DIFF das alterações

Clone this wiki locally