Desenvolvimento orientado a teste é um processo no qual você escreve o teste antes de escrever o código. E quando todos os testes passam, você deve reconstruir de forma otimizada.
Neste projeto foi desenvolvido uma aplicação escolar com as operações CRUD (acrónimo do inglês Create, Read, Update and Delete) são as quatro operações básicas (criação, consulta, atualização e destruição de dados).
Entretanto, como desenvolvedor como tenho certeza que a implementação está correta, funcional e sem bugs? Principalmente, a longo prazo, daqui meses e anos, vou me lembrar se eu fiz a validação dos métodos corretamente?
A resposta é: criar código para testar código! A partir do desenvolvimento de testes por unidade, no caso, do Controller, eu tenho a garantia de que todas as Requests estão sendo respondidas corretamente, pois estou validando o status code e a Response de cada verbo Http da API.