Fiber v3 Part 7: Testing

Software Engineer Backend dan salah satu member Go Fiber.
Search for a command to run...

Software Engineer Backend dan salah satu member Go Fiber.
Gaskeuun
Fiber adalah web framework yang super cepat dan ringan untuk Go. Fiber dibangun dengan menggunakan Fasthttp sebagai HTTP server-nya. Fasthttp adalah HTTP server yang super cepat dan ringan. Fiber juga memiliki routing yang sangat cepat, middleware ya...

Middleware adalah sebuah fungsi yang berjalan sebelum atau sesudah sebuah request. Middleware biasanya digunakan untuk melakukan hal-hal seperti logging, authentication, rate limiting, dll. Denagn menggunakan middleware, kita bisa memisahkan logic da...

Routing adalah proses untuk menentukan bagaimana sebuah aplikasi merespon terhadap request yang masuk. Routing biasanya digunakan untuk menentukan bagaimana sebuah aplikasi merespon terhadap request yang masuk berdasarkan path dan juga method dari re...

Query parameter adalah cara untuk mengirimkan data ke server menggunakan URL. Query parameter biasanya digunakan untuk melakukan filtering, sorting, dan juga searching. Query parameter biasanya digunakan pada request dengan method GET. Dalam artikel ...

Path parameter adalah cara untuk menambahkan parameter pada path. Path parameter sangat berguna untuk menangani request dengan path yang dinamis. Dalam artikel ini, kita akan membahas tentang bagaimana cara melakukan routing dengan path parameter pad...

Testing adalah proses untuk memastikan bahwa aplikasi yang kita buat berjalan sesuai dengan yang kita harapkan. Testing biasanya digunakan untuk memastikan bahwa aplikasi yang kita buat berjalan dengan baik dan tidak ada bug.
Dalam artikel ini, kita akan membahas tentang bagaimana cara melakukan testing pada aplikasi yang dibangun menggunakan Fiber.
Fiber memungkinkan kita untuk melakukan testing handler. Berikut adalah contoh bagaimana cara melakukan testing handler pada aplikasi yang dibangun menggunakan Fiber:
package main
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/gofiber/fiber/v2"
)
func TestHandler(t *testing.T) {
app := fiber.New()
app.Get("/", func(c fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
})
req := httptest.NewRequest(http.MethodGet, "/", nil)
res, err := app.Test(req)
if err != nil {
t.Fatal(err)
}
if res.StatusCode != http.StatusOK {
t.Fatalf("Expected status code %d, but got %d", http.StatusOK, res.StatusCode)
}
var body string
if _, err := res.Body.Read([]byte(body)); err != nil {
t.Fatal(err)
}
}
Pada contoh kode di atas, kita menggunakan testing.T untuk melakukan testing handler. Kita membuat sebuah instance dari fiber.App dan menambahkan handler dengan method Get. Setelah itu, kita membuat sebuah request dengan method http.MethodGet dan path /. Setelah itu, kita melakukan testing dengan method app.Test. Setelah itu, kita melakukan assertion untuk memastikan bahwa status code yang dihasilkan sesuai dengan yang kita harapkan.
Dalam artikel ini, kita telah membahas tentang bagaimana cara melakukan testing pada aplikasi yang dibangun menggunakan Fiber. Dengan melakukan testing, kita bisa memastikan bahwa aplikasi yang kita buat berjalan dengan baik dan tidak ada bug. Dengan Fiber, kita bisa melakukan testing dengan sangat mudah.
Sampai jumpa di artikel selanjutnya! 👋