Ответ
Тестирование приложения — это комплексный процесс проверки функциональности, производительности, безопасности и UX приложения, включая модульные, интеграционные и E2E-тесты. Вызов API — это частный случай интеграционного тестирования, когда проверяется только взаимодействие с API (запросы/ответы).
Пример тестирования API в Go:
func TestGetUser(t *testing.T) {
req, _ := http.NewRequest("GET", "/users/1", nil)
rr := httptest.NewRecorder()
handler := http.HandlerFunc(GetUserHandler)
handler.ServeHTTP(rr, req)
if status := rr.Code; status != http.StatusOK {
t.Errorf("Expected 200, got %v", status)
}
expected := `{"id":1,"name":"John"}`
if rr.Body.String() != expected {
t.Errorf("Expected %v, got %v", expected, rr.Body.String())
}
}
Ключевые отличия:
- Тестирование приложения шире (UI, бизнес-логика и т.д.)
- API-тесты фокусируются только на HTTP-контрактах
- API-тесты обычно быстрее и стабильнее UI-тестов