API Testing
21.1 Unit Testing vs API Testing vs E2E Testing
Aspek
Unit Testing
API Testing
E2E Testing
21.2 Struktur Folder Testing
project/
βββ internal/
β βββ handler/
β β βββ role.go
β β βββ role_test.go β
Unit test (package yang sama)
β βββ service/
β β βββ role.go
β β βββ role_test.go β
Unit test (package yang sama)
β βββ repository/
β βββ role.go
β βββ role_test.go β
Unit test (package yang sama)
β
βββ test/ β
API/E2E tests (folder terpisah)
βββ api/
β βββ auth/
β β βββ main_test.go
β β βββ login_test.go
β βββ role/
β βββ main_test.go
β βββ create_test.go
βββ e2e/
βββ helper/
β βββ base_helper.go
β βββ auth_helper.go
β βββ role_helper.go
β βββ user_helper.go
β βββ access_helper.go
βββ rbac/
βββ main_test.go
βββ rbac_test.go21.3 Database Container dengan Testcontainers
Pendekatan
Kelebihan
Kekurangan
PostgreSQL Container
Container Registry (Singleton)
21.4 Setup TestMain
Data Pendukung
TestMain di Setiap Package Test
21.5 Helper untuk API Call
21.6 Auth API Test
Login Scenarios
21.7 Role API Test
Create Role Scenarios
21.8 E2E Testing
Prinsip FailNow
Pembuatan Base Helper
Auth Helper
Role Helper
User Helper
Access Helper
E2E Test : RBAC Flow
21.9 Build Tag
Ringkasan Bab 21
Komponen
Lokasi
Fungsi
Last updated