Sebelumnya kita telah belajar sedikit tentang package testing yang digunakan untuk membuat unit test, nah pada artikel kali ini kita akan mencoba membuat unit test sederhana, tetapi sebelum membuat unit test kita akan membuat function sederhana terlebih dahulu dan nanti kita akan membuat unit test untuk function tersebut.
Kode program function hello world
Pada percobaan kali ini kita cukup membuat function HelloWorld
sederhanya saja. Nah sekarang buatlah project baru menggunakan go module dengan nama belajar-golang-unit-test
setelah itu buat package baru dengan nama helper
dan pada package tersebut buat juga file dengan nama hello_world.go
dan isikan baris kode berikut
package helper
func HelloWorld(name string) string {
return "Hello " + name
}
Function ini lah yang nantinya akan kita buatkan unit test.
Aturan file test
Sebelum kita membuat unit test, ada beberapa aturan yang harus kita perhatikan, yang pertama adalah aturan membuat file unit test. Golang memiliki aturan cara membuat file khusus untuk unit test, jadi kita tidak bisa sembarangan membuat unit test.
Untuk membuat unit test kita harus membuat file unit test, kita harus menggunakan akhiran _test
, untuk awalan nya bebas apapun itu tetapi akhiran nya wajib menggunakan _test
. Jadi misalnya jika sebelumnya kita telah membuat file hello_world.go
, artinya untuk membuat unit test nya , kita harus membuat file hello_world_test.go
.
Membuat file unit test
Setelah mengetahui aturan untuk membuat file unit test, sekarang buatlah file abru pada package helper sebelumnya dengan nama hello_world_test.go
.
Aturan function unit test
Selain aturan nama file ada juga aturan untuk function nya, di golang sudah diatur untuk nama function unit test, jadi kita juga tidak bisa sembarangan dalam membuat nama function nya. Nama function untuk membuat unit test harus diawali dengan nama Test, misal jika kita ingin mengetest function HelloWorld
, maka kita akan membuat function unit test dengan nama TestHelloWorld
, selanjutnya function nya juga harus memiliki parameter (t *testing.T)
dan tidak mengembalikan return value.
Kode program hello world unit test
Setelah membuat file unit test, selanjutnya kita akan membuat function unit test untuk mengetest kode program HelloWorld
sebelumnya.
package helper
import "testing"
func TestHelloWorld(t *testing.T) {
result := HelloWorld("Rendy")
if result != "Hello Rendy" {
// error
panic("Result is not 'Hello Rendy'")
}
}

Pada kode diatas kita membuat function unit test dengan nama TestHelloWorld
dan simple nya function tersebut akan kita buat untuk melakukan test pada kode program kita, contohnya pada function di atas kita akan menjalankan function HelloWorld
dengan parameter "Rendy"
kemudian hasilnya kita simpan pada variable result
. Kemudian kita juga akan melakukan pengecekan apakah hasil di result
sama dengan "Hello Rendy"
jika tidak maka kita akan membuat test nya gagal dengan panic
.
Menjalankan unit test
Untuk menjalankan unit test kita bisa menggunakan command go test
, dan jika kita ingin melihat function apa saja yang dijalankan maka kita bisa menggunakan command go test -v
, atau jika kita ingin memilih function mana yang ingin di running maka kita bisa menggunakan command go test -v -run TestNamaFunction
.

Nah bagaimana jika kita ingin me running semua unit test dari direktori root module nya maka kita bisa menggunakan command go test ./...

Penutup
Pada artikel kali ini kita telah belajar tentang cara membuat unit test pada bahasa pemrogaman go. Dan pada artikel selanjutnya saya akan membahas cara menggagalkan test pada bahasa pemrogaman go.