Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menguji fungsi Golang menggunakan rangka kerja ujian unit?
Gunakan rangka kerja ujian unit untuk ujian unit dalam Go: import pakej ujian. Tulis fungsi ujian unit yang diawali dengan Ujian. Gunakan fungsi penegasan seperti assertEqual() untuk mengesahkan keputusan ujian. Jalankan ujian unit (go test) untuk mengesahkan ketepatan fungsi.
Cara menguji fungsi Go menggunakan rangka kerja ujian unit
Ujian unit ialah amalan pembangunan perisian penting yang mengesahkan ketepatan fungsi atau kaedah tunggal. Dalam Go, ujian unit adalah sangat mudah menggunakan rangka kerja ujian unit seperti pakej testing
. testing
包)进行单元测试非常简单。
安装单元测试框架
testing
包是 Go 标准库的一部分。要使用它,请在你的项目中导入 testing
包:
import "testing"
编写单元测试
每个单元测试都是一个以 Test
为前缀的函数。它接受一个指针 *testing.T
作为参数,该参数用于报告测试结果和记录失败信息。
基本的单元测试函数如下所示:
func TestAdd(t *testing.T) { result := Add(1, 2) if result != 3 { t.Errorf("Add(1, 2) = %d; want 3", result) } }
断言
testing
包提供了一系列断言函数,用于验证测试结果。常用的断言包括:
assertEqual()
assertNotEqual()
assertNil()
assertError()
实战案例
考虑一个计算两个数字之和的 Add()
函数:
func Add(a, b int) int { return a + b }
我们可以编写一个单元测试来验证此函数:
import "testing" func TestAdd(t *testing.T) { tests := []struct { a, b, want int }{ {1, 2, 3}, {0, 0, 0}, {-1, -1, -2}, } for _, test := range tests { result := Add(test.a, test.b) if result != test.want { t.Errorf("Add(%d, %d) = %d; want %d", test.a, test.b, result, test.want) } } }
运行测试
要运行单元测试,请使用 go test
命令。它将查找并运行项目中所有 Test*
Pasang rangka kerja ujian unit
Pakejgo test🎜🎜Menulis ujian unit🎜🎜🎜Setiap ujian unit ialah ujian unit yang diawali dengan fungsi
*testing.T
sebagai parameter, yang digunakan untuk melaporkan keputusan ujian dan merekodkan maklumat kegagalan. 🎜🎜Fungsi ujian unit asas adalah seperti berikut: 🎜PASS ok my_project/my_package 1.730s🎜🎜Assertion🎜🎜🎜 Pakej
assertEqual()
assertNotEqual()
assertNil ()
assertError()
go test
perintah. Ia akan mencari dan menjalankan semua fungsi Test*
dalam projek. 🎜rrreee🎜Jika ujian lulus, ia akan mengeluarkan keputusan berikut: 🎜rrreee🎜 Jika tidak, ia akan melaporkan ujian yang gagal, termasuk mesej ralat. 🎜Atas ialah kandungan terperinci Bagaimana untuk menguji fungsi Golang menggunakan rangka kerja ujian unit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!