# Fiber v3 Part 7: Testing

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.

## Testing Handler

Fiber memungkinkan kita untuk melakukan testing handler. Berikut adalah contoh bagaimana cara melakukan testing handler pada aplikasi yang dibangun menggunakan Fiber:

```go
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.

## Kesimpulan

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! 👋
