ExpertiDict

Go · Intermediário · Inglês · Técnico

httptest

/eɪtʃ.ti.ti.piˈtɛst/substantivo

Pacote net/http/httptest que testa handlers HTTP sem abrir porta de verdade, com NewRecorder para capturar a resposta e NewServer para subir um servidor local.

Onde usar

Permite testar uma API rapidamente, chamando o handler direto com uma requisição montada na hora. Também serve para simular serviços externos em testes de cliente.

Em código

req := httptest.NewRequest("GET", "/", nil)
rec := httptest.NewRecorder()
handler.ServeHTTP(rec, req)
if rec.Code != http.StatusOK {
  t.Fatalf("status %d", rec.Code)
}

Exemplos

Test the handler with httptest.NewRecorder.

Teste o handler com httptest.NewRecorder.

We fake the payment API with httptest.NewServer.

Simulamos a API de pagamento com httptest.NewServer.

Cuidado

O recorder não passa pelo roteador ou middleware que você não incluiu; chame o handler completo se quiser testar a pilha inteira.

Veja também

Todos os termos de Go