O código da classe CaminhoArquivo está bugado! O desenvolvedor fez testes na classe CaminhoArquivoTest. Sabe-se que esses testes estão corretos e especificam como deve ser o comportamento da classe.
O seu trabalho será dividido em três partes:
- Consertar o bug no código e fazer o teste passar (comentar a anotação @Disable)
- Refatorar o código. Técnicas como análise de complexidade ciclomática, duplicação de código, clean code e LOC serão utilizadas para avaliação;
- Adicionar um caso de teste para o cenário no qual o ID não é informado
Atenção, a assinatura do método deve ser mantida, assim como os testes da classe CaminhoArquivoTest
Neste exercício vamos focar em testes de unidade, mocks e refatoração
A classe Banco é responsável por manter as contas dos clientes. Porém, os usuários estão reclamando lentidão quando tentam buscar por uma conta de um cliente específico.
Você como desenvolvedor deve:
- Fazer os testes de unidade da classe banco para os métodos
- adicionarConta
- pesquisarContaDoCliente
- listarContasAltaRenda
- Refatorar o método pesquisarContaDoCliente para resolver os problemas de lentidão
A classe SistemaBancario é responsável por registrar os bancos junto ao Bacen. Bacen é um Gateway que faz chamadas ao WebService do Bacen. É necessário testar a classe SistemaBancario unitariamente, logo precisamos de uma solução para isolar a classe Bacen.
Para isolar a classe Bacen você deve implementá-la de três maneiras diferentes
- usando um Fake
- usando um Stub
Os seguintes cenário deve ser testado:
- Caso o cadastro do banco no Bacen tenha sido feito com sucesso, ele retorna o número de registro do Banco
Agora, usando um mock com Mockito e definindo os comportamentos da classe Bacen para o caso de sucesso e o de falha, além do cenário de sucesso, implemente o cenário abaixo.
- Caso o cadastro do banco no Bacen tenha dado algum problema, a exceção BancoNaoCadastradoException do tipo RuntimeException deve ser retornada. Use o assertThrows para isso.
Este exercício tem o objetivo de identificar habilidades relacionadas a requisições HTTP, arquitetura REST, uso de API's para persistência de dados
Para rodar local basta executar
docker-compose up --build
Acessar http://localhost:8080/api/ola
Para parar o container
docker-compose down
A sua classe de domain Auno deve ser:
- Criar aluno com id (auto gerado), nome (not null) e email;
- Usar anotações do JPA para fazer o mapeamento
A sua classe de repository AlunoRepository deve ser:
- estender a interface JpaRepository
A sua classe de controller AlunoController deve ser:
- Ter o método find, list, save, update e delete.
- find deve buscar por um aluno específico recebendo o ID no path param - GET
- retornar 200 como status code
- list deve listar todos os alunos - GET
- retornar 200 como status code
- save deve salvar um novo aluno - POST
- retornar 201 como status code
- put deve atualizar todos os atributos de um aluno recebendo o ID no path param - PUT
- retornar 200 como status code
- delete deve remover um aluno - DELETE
- retornar 200 como status code
Atenção no método FIND, caso não exista um aluno o valor retornado deve ser 404. Já no mesmo LIST, deve retornar uma colleção vazia com o status code 200.
Criar uma classe de testes AlunoControllerTest e fazer os testes de API (e2e).
- Teste apenas o cenário de POST de Aluno
- Use a classe HelloControllerTest como modelo.
dica, utiliza o método .body(BodyInserters.fromValue()) para fazer o parser do objeto para Json
Implementar os meus casos com JavaScript
- Jasmine, Karma, Mocha
Implementar os meus casos com Python
- pytest