Ejemplos de los tests con los codigos 404/500 de la API, en mi caso use assert de la misma libreria testify y t.Run para correo cada test y no llamarlos como una funcion:
t.Run("PokemonNotFoundError", func(t *testing.T) {
r, err := http.NewRequest("GET", "/pokemon/{id}", nil)
assert.NoError(t, err)
w := httptest.NewRecorder()
vars := map[string]string{
"id": "ssssssss",
}
r = mux.SetURLVars(r, vars)
GetPokemon(w, r)
assert.Equal(t, http.StatusNotFound, w.Code)
})
t.Run("PokemonInternalServerError", func(t *testing.T) {
r, err := http.NewRequest("GET", "/pokemon/{id}", nil)
assert.NoError(t, err)
w := httptest.NewRecorder()
vars := map[string]string{
"id": "",
}
r = mux.SetURLVars(r, vars)
GetPokemon(w, r)
assert.Equal(t, http.StatusInternalServerError, w.Code)
})
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?