O proxy do repositório do Maven pode obter dependências sem configurar uma requisição HTTP feita por um teste. Configure o cliente na JVM de teste.

Se esse cliente respeitar as propriedades de proxy HTTPS do Java, coloque este fragmento dentro do elemento configuration do plugin Surefire correspondente:

<systemPropertyVariables>
  <https.proxyHost>proxy.example</https.proxyHost>
  <https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>

Substitua o endpoint de exemplo. Para testes contra destinos públicos onde intermediários públicos são permitidos, a lista de proxies HTTP oferece candidatos de host e porta. Host e porta são valores separados; escolha a família de propriedades adequada ao esquema de destino e à biblioteca. Já um cliente criado com um objeto de proxy explícito precisa da própria interface de configuração.

O Surefire normalmente executa os testes em uma JVM bifurcada. Nem toda opção usada para iniciar o Maven chega a esse processo. A descoberta de proxy do sistema sensível à inicialização precisa da opção dela na JVM de teste na inicialização. Mesmo quando os testes compartilham um processo, uma biblioteca pode ignorar as propriedades de proxy padrão do Java.

Mantenha os destinos internos diretos cobertos por uma regra de bypass adequada, a autenticação do proxy separada da autenticação do destino e a verificação de certificados ativada. Desativar a bifurcação muda como os testes são executados; trocar o espelho de dependências muda a resolução do repositório. Nenhum dos dois fornece uma rota de cliente de teste ausente. Copiar todas as propriedades do sistema também pode expor segredos.

Em caso de falha restante, registre a JVM de teste, a biblioteca HTTP, o destino, o proxy escolhido e a primeira etapa com falha. Essas observações apontam para a configuração do teste e mantêm compreensíveis os downloads de repositório que funcionam.

Artigos relacionados