Ujian unit dengan Golang

王林
Lepaskan: 2023-08-07 23:17:04
asal
1696 orang telah melayarinya

Gunakan Golang untuk ujian unit

Dalam pembangunan perisian, ujian unit adalah cara penting untuk memastikan kualiti dan kestabilan kod. Sebagai bahasa pengaturcaraan yang berkuasa, Golang mempunyai banyak ciri dan kemudahan untuk ujian unit. Artikel ini akan memperkenalkan anda kepada cara menggunakan Golang untuk ujian unit dan menggambarkan dengan contoh kod.

  1. Buat fail ujian
    Pertama, kita perlu mencipta fail ujian yang sepadan dengan kod yang sedang diuji Nama fail berakhir dengan "_test.go". Dengan mengandaikan bahawa kod kami yang sedang diuji ialah fail bernama "myFunc.go", maka kami perlu mencipta fail bernama "myFunc_test.go" untuk menulis kod ujian.
  2. Import pakej berkaitan ujian
    Dalam fail ujian, kami perlu mengimport pakej "ujian", yang mengandungi banyak fungsi dan kaedah berkaitan ujian.
import "testing"
Salin selepas log masuk
  1. Menulis kes ujian
    Seterusnya, kita perlu menulis kes ujian untuk fungsi yang sedang diuji. Kes ujian terdiri daripada satu atau lebih fungsi ujian. Nama fungsi ujian mesti bermula dengan "Ujian" dan diikuti dengan nama fungsi yang diuji, seperti "TestMyFunc". Tandatangan fungsi ujian ditetapkan, seperti berikut:
func TestMyFunc(t *testing.T) {
    // 测试代码
}
Salin selepas log masuk

di mana parameter "t" ialah struktur ujian yang digunakan untuk melaporkan keputusan ujian dan output log.

  1. Tulis kod ujian
func TestMyFunc(t *testing.T) {
    result := myFunc(1, 2)

    if result != 3 {
        t.Errorf("Expected 3, but got %d", result)
    }
}
Salin selepas log masuk

Dalam fungsi ujian, kita boleh menggunakan pelbagai kaedah untuk menilai dan mengesahkan keputusan output fungsi yang diuji. Contohnya, gunakan fungsi t.Errorf() untuk mengeluarkan keputusan ujian dan gunakan parameter pemformatan seperti %v atau %d untuk mencetak maklumat ralat.

  1. Jalankan ujian
    Selepas menulis kes ujian, kita boleh menggunakan arahan ujian go untuk menjalankan ujian. Mula-mula, buka terminal, masukkan direktori di mana fail ujian berada, dan kemudian laksanakan arahan berikut:
go test
Salin selepas log masuk

Selepas menjalankan arahan, sistem akan secara automatik melaksanakan kes ujian dan mencetak keputusan ujian. Jika ujian lulus, keluarkan "LULUS". Jika ujian gagal, keluarkan "GAGAL" dan butiran kegagalan.

  1. Buat penegasan yang lebih lanjut
    Golang menyediakan beberapa fungsi tambahan dalam pakej ujian untuk membuat penegasan dengan lebih mudah. Sebagai contoh, kita boleh menggunakan fungsi t.Fatalf() untuk menamatkan ujian dan maklumat kegagalan output jika ujian gagal.
import (
    "testing"
    "github.com/stretchr/testify/assert"
)

func TestMyFunc(t *testing.T) {
    assert := assert.New(t)
    
    result := myFunc(1, 2)

    assert.Equal(3, result, "Expected 3")
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi assert.New() yang disediakan oleh pustaka pihak ketiga "github.com/stretchr/testify/assert" untuk mencipta objek penegasan untuk memudahkan lagi penulisan penegasan.

Ringkasan

Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan Golang untuk ujian unit. Dengan menulis kes ujian dan fungsi ujian, menjalankan arahan ujian dan menggunakan pelbagai kaedah penegasan, kami boleh menemui dan membaiki masalah dalam kod tepat pada masanya untuk memastikan kualiti dan kestabilan kod. Selain ujian unit, Golang juga menyediakan jenis alat dan rangka kerja ujian lain, seperti ujian prestasi, ujian integrasi, dll. Anda boleh memilih kaedah ujian yang sesuai mengikut keperluan projek sebenar.

Atas ialah kandungan terperinci Ujian unit dengan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan