Golang
  • Daftar isi
  • Pengenalan Golang
  • Cara instalasi Golang
  • Cara menjalankan Golang
  • Cara mendeklarasikan variabel di Golang
  • Apa saja tipe-tipe data di Golang
  • Cara Konversi Tipe Data di Golang
  • Apa saja operator-operator di Golang
  • Cara melakukan seleksi kondisi di Golang
  • Cara melakukan perulangan di Golang
  • Cara membuat Array di Golang
  • Cara membuat Slice di Golang
  • Cara membuat Slice dengan Operator Slice
  • Cara membuat Map di Golang
  • Cara membuat Pointer di Golang
  • Cara membuat Function di Golang
  • Cara membuat Package di Golang
  • Cara membuat multi return Function di Golang
  • Cara membuat Struct di Golang
  • Cara membuat method di Golang
  • Cara membuat Defer dan Scope di Golang
  • Cara membuat underscore(blank) di Golang
  • Cara membuat Goroutine di Golang
  • Cara membuat Channels di Golang
  • Cara membuat WaitGroup di Golang
  • Cara membuat Select statement di Golang
  • Cara membuat Http Server di Golang
  • Cara membuat Http Server di Golang part 2
  • Cara membuat Http Server di Golang part 3
  • Cara membuat Http Server di Golang part 4
  • Pengenalan Testing di Go
  • Membuat Unit Test di Go
Powered by GitBook
On this page

Pengenalan Testing di Go

Testing adalah bagian penting dalam pengembangan perangkat lunak, termasuk di bahasa Go (Golang). Golang memiliki pustaka standar khusus untuk testing yang mempermudah pengembang dalam menulis, menjalankan, dan memelihara tes secara efisien.

Mengapa Testing Penting di Go?

Testing membantu memastikan bahwa kode berfungsi seperti yang diharapkan, mengidentifikasi bug sejak dini, serta menjaga kualitas dan stabilitas aplikasi. Dalam Go, testing juga penting untuk memastikan performa tinggi dan pengelolaan memori yang efektif karena Go sering digunakan dalam aplikasi server dan jaringan yang memerlukan kecepatan serta efisiensi.

Pendekatan Testing di Go

Go memiliki pendekatan yang sederhana namun kuat untuk testing:

  1. Unit Testing: Pengujian level fungsi untuk memeriksa apakah setiap bagian kode berfungsi secara mandiri.

  2. Integration Testing: Menguji beberapa bagian kode bersama-sama untuk memastikan interaksi antar-bagian berfungsi.

  3. Benchmarking: Mengukur performa kode, penting untuk aplikasi yang membutuhkan efisiensi tinggi.

Fitur Testing di Go

Golang menyediakan paket testing, yang menyertakan fungsi dan tipe data khusus untuk melakukan berbagai jenis tes:

  • testing.T: Struktur untuk menjalankan unit test.

  • testing.B: Struktur untuk melakukan benchmark.

  • testing.M: Struktur untuk mengelola tes skala besar atau pengaturan tes dengan main testing.

Dasar Struktur Test di Go

File test di Go diberi nama dengan akhiran _test.go, misalnya main_test.go. Ini memungkinkan file test untuk dipisahkan dari kode utama tetapi tetap mudah diakses dan dieksekusi saat menjalankan tes.

Contoh Test Sederhana

Berikut contoh sederhana dari unit test di Go untuk sebuah fungsi yang melakukan penjumlahan:

  1. Fungsi yang Diuji

    // File: calculator.go
    package calculator
    
    func Add(a, b int) int {
        return a + b
    }
  2. Test untuk Fungsi Add

    // File: calculator_test.go
    package calculator
    
    import "testing"
    
    func TestAdd(t *testing.T) {
        result := Add(2, 3)
        expected := 5
        if result != expected {
            t.Errorf("Add(2, 3) = %d; want %d", result, expected)
        }
    }

    Pada test ini, kita menggunakan t.Errorf untuk mencatat kegagalan jika hasil dari Add(2, 3) tidak sesuai dengan nilai yang diharapkan (5).

Menjalankan Test

Tes dapat dijalankan langsung dengan perintah:

go test

Perintah ini secara otomatis akan menemukan file _test.go dan menjalankan fungsi-fungsi yang diawali dengan Test.

Kesimpulan

Testing di Go mudah dipahami dan memungkinkan pengembangan perangkat lunak yang berkualitas dengan cara yang cepat dan terintegrasi langsung dalam ekosistem bahasa Go. Golang juga mendukung berbagai pustaka testing lain jika pengembang memerlukan fitur tambahan seperti mocking atau pengelolaan tes berskala besar.

Sumber Referensi

  • Buku The Go Programming Language oleh Alan Donovan dan Brian Kernighan.

PreviousCara membuat Http Server di Golang part 4NextMembuat Unit Test di Go

Last updated 6 months ago

Dokumentasi resmi Go tentang testing:

Artikel tutorial testing di Go:

https://golang.org/pkg/testing/
https://blog.golang.org/cover