-
Notifications
You must be signed in to change notification settings - Fork 1
08_unittest
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.
Importante: Na versão que este passo a passo foi feito, era usado o Junit4 por padrão no Spring Boot. Para seguir este passo a passo, será necessário excluir as seguintes linhas:
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
Na versão 2.4+ no spring boot, adicione as seguintes linhas
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
Assim que der, atualizo o tutorial :/
- Vamos ajustar as nossos modelos, para facilitar os testes.
Agora todas as alterações serão feitas na pasta project/src/test/java. Todas as packages devem ser criadas novamente.
- Altere a classe ProjectApplicationTests DIFF.
- Tenha certeza que a classe, e o função contextLoads, estão como public.
- Na package com.example.project.configuration crie a classe MapperConfigTest Arquivo final.
- Na package com.example.project.configuration crie a classe SwaggerConfigTest Arquivo final.
- Na package com.example.project.domain.mapper crie a classe ClientMapperTest Arquivo final.
- 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
- Na package com.example.project.service crie a classe ClientServiceTest Arquivo final.
Desafio: Completar os testes unitários da ClientServiceTest.
- Na package com.example.project.controller crie a classe ClientControllerTest Arquivo final.
- Na package com.example.project.domain.dto.request crie a classe ClientCreateRequestTest Arquivo final.
Para ver as alterações completas DIFF das alterações
Através do Jacoco, conseguimos ver a cobertura de testes do nosso código.
- Edite o arquivo pom.xml Diff.
- 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
Siga para o próximo tópico: Integration Test