Rumah > Artikel > pembangunan bahagian belakang > Ujian unit dalam pengendalian ralat fungsi golang
Ujian unit Kaedah pengendalian ralat fungsi dalam bahasa Go termasuk: Buat input olok-olok: Buat objek olok-olok dengan ralat terkawal. Tegaskan mesej ralat: Padankan mesej ralat yang dikembalikan dengan mesej yang dijangkakan. Keadaan Ralat Penutup: Tulis kes ujian untuk semua keadaan ralat yang mungkin.
Ujian unit dalam pengendalian ralat fungsi bahasa Go
Latar Belakang
Dalam bahasa Go, ralat dalam fungsi dikendalikan dengan menyemak nilaijenis ralat. Untuk memastikan pengendalian ralat yang betul, adalah penting untuk melaksanakan ujian unit. <code>error
类型的值来处理函数中的错误。为了确保错误处理的正确性,执行单元测试至关重要。
单元测试策略
对函数中的错误处理进行单元测试时,以下策略非常有效:
assert.Equal()
Buat olok-olok sebagai input: Buat objek olok-olok (contohnya, olok-olok sistem fail atau panggilan rangkaian), objek ini mengembalikan ralat terkawal.
Tegaskan mesej ralat: Gunakan pustaka penegasan seperti assert.Equal()
untuk mengesahkan bahawa mesej ralat yang dikembalikan sepadan dengan mesej ralat yang dijangkakan.
: Tulis kes ujian untuk setiap situasi ralat yang mungkin. Ini akan memastikan bahawa logik pengendalian ralat berfungsi seperti yang diharapkan dalam semua kes.
Kes Praktikal
🎜🎜Pertimbangkan fungsi berikut yang mengira hasil tambah dua nombor: 🎜func Sum(a, b int) (int, error) { if a < 0 || b < 0 { return 0, errors.New("non-negative integers only") } return a + b, nil }🎜🎜Ujian Unit🎜🎜
import ( "errors" "testing" ) func TestSum(t *testing.T) { tests := []struct { a, b int expected int err error }{ {a: 1, b: 2, expected: 3, err: nil}, {a: -1, b: 2, expected: 0, err: errors.New("non-negative integers only")}, } for _, tt := range tests { t.Run("test", func(t *testing.T) { sum, err := Sum(tt.a, tt.b) if sum != tt.expected { t.Errorf("Expected %d, got %d", tt.expected, sum) } if !errors.Is(err, tt.err) { t.Errorf("Expected error %q, got %q", tt.err, err) } }) } }🎜🎜Kesimpulan, liputan kes dan liputan ujian ini🎜🎜 boleh dilakukan dengan berkesan Untuk menguji pengendalian ralat fungsi dalam bahasa Go. Ini membantu memastikan kod itu teguh dan boleh dipercayai. 🎜
Atas ialah kandungan terperinci Ujian unit dalam pengendalian ralat fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!