Menulis Test Table Di Golang
Halo semua. kali ini saya akan membagikan cara menulist test table di golang. test table sendiri adalah jenis test yang dilakukan menggunakan perulangan untuk mempermudah kita dalam menulis case yang terus berulang agar code kita tidak redundant.
Yang Ingin Membantu Saya Untuk Terus Berkontribusi Boleh Banget Klik Dibawah
Lansung Saja Prakteknya
disini saya membuat sebuah file bernama main_test.go
Didalamnya saya menulis sebuah struct dan method sederhana
package mocktestgo
import (
"errors"
"fmt"
"testing"
)
type Person struct {
Nama string
Umur int
}
type User struct {
}
func (u *User) GetPerson(param Person) (Person, error) {
// jika nama kosong kembalikan error
if param.Nama == "" {
return param, errors.New("harap isi nama")
}
// jika umur kosong kembalikan error
if param.Umur < 1 {
return param, errors.New("harap isi umur")
}
return Person{Nama: param.Nama, Umur: param.Umur}, nil
}
diatas saya membuat sebuah method getPerson sederhana yang fungsinya hanya untuk mengembalikan nilai dari person itu sendiri. saya memberikan sebuah percabangan sederhana untuk mengecek nama atau umur tidak diisi.
Test Tanpa Test Table
ini adalah contoh menulis test yang biasanya kita lakukan. misalkan kita ingin menambah test untuk check umur cannot null maka kita akan menuliskan testnya lagi seperti ini
lihat kita mengulangi proses yang sama hanya untuk case yang berbeda tentu ini memakan waktu dalam menulisnya kan. coba kita lihat dengan menggunakan test table
Test Dengan Test Table
mungkin terlihat lebih panjang ya. tapi misalkan kita ingin menambah case baru kita hanya perlu menambahkan casenya di dalam array test seperti
lihatkan code dibawahnya tidak berubah hanya casenya yang ditambah.
Cara diatas bukan berarti cara test yang paling benar yaa. ini adalah jenis test yang bisa kita lakukan di golang dan di beberapa bahasa lain juga. kalian tergantung bisa melakukan cara test yang kalian suka yang penting testnya tidak menyusahkan kalian dan berjalan dengan baik. kalau untuk saya sendiri saya lebih suka jenis test table wlaupun di kantor di pakai kedua duanya.
Yang Ingin Membantu Saya Untuk Terus Berkontribusi Boleh Banget Klik Dibawah
Code Lenkap If You Want
Terimah Kasih Salam Programmer Makassar
Last updated
