Acompanhe uma operação ponta a ponta
Comece pela requisição POST /matriculas. O controller converte JSON em uma entrada do caso de uso. A aplicação confere a regra de matrícula e chama a porta SalvarMatricula. O adaptador PostgreSQL converte essa chamada em SQL. O resultado percorre o caminho inverso e o controller produz a resposta HTTP.
Abrir diagrama em tamanho original
O teste não precisa mockar toda a aplicação. Um teste do caso de uso pode fornecer um adaptador de memória que implementa a porta. Um teste de integração verifica se o adaptador real interpreta SQL corretamente. Cada teste observa um limite diferente.
Três sinais de um limite útil
A aplicação não conhece protocolo HTTP nem SQL. Adaptadores traduzem, em vez de abrigar a política. É possível substituir pelo menos uma integração sem reescrever a regra. Se o desenho não oferece essas propriedades, a quantidade de interfaces pode estar maior que o benefício.
Recupere: onde você testaria a regra e onde testaria o SQL?
Pratique com /aprender
/aprender Simule uma matrícula que passa por Controller, caso de uso, porta de persistência e adaptador PostgreSQL. Peça que eu descreva cada tradução. Depois introduza um adaptador de memória e pergunte qual teste pode usá-lo sem iniciar Spring.
