Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menguji menggunakan bahasa Go?

Bagaimana untuk menguji menggunakan bahasa Go?

王林
王林asal
2023-06-11 10:50:29895semak imbas

Bahasa Go ialah bahasa pengaturcaraan yang sangat baik yang terkenal dengan kecekapan, kesederhanaan dan perpustakaan standard yang berkuasa. Apabila kami membangunkan aplikasi menggunakan Go, menulis dan menjalankan kod ujian adalah sebahagian daripadanya. Artikel ini menerangkan cara menggunakan bahasa Go untuk ujian bagi memastikan kod kami berfungsi seperti yang diharapkan.

  1. Tulis kod ujian

Dalam bahasa Go, kod ujian adalah bersamaan dengan kod biasa. Oleh itu, kami boleh menulis dan menjalankan kod ujian untuk memastikan ia menjalankan aplikasi kami dengan betul. Biasanya, kod ujian harus diletakkan dalam direktori yang berasingan untuk pengurusan dan penyelenggaraan yang lebih mudah.

Berikut ialah contoh mudah:

package main

import "testing"

func TestAdd(t *testing.T) {
    result := add(2, 3)
    expected := 5
    if result != expected {
        t.Errorf("add(2, 3) = %d; expected %d", result, expected)
    }
}

func add(a, b int) int {
    return a + b
}

Dalam contoh di atas, kami menulis fungsi ujian bernama "TestAdd", yang menguji fungsi add() yang kami tulis sendiri fungsi. Fungsi ujian biasanya bermula dengan "Ujian" dan memerlukan parameter *pengujian.T bernama "t", yang digunakan untuk melaporkan keputusan ujian.

Dalam fungsi ujian, kita mula-mula memanggil fungsi add() dan menyimpan hasilnya dalam pembolehubah hasil. Seterusnya, kami menyimpan hasil yang dijangkakan dalam pembolehubah yang dijangkakan dan menggunakan pernyataan if untuk membandingkan keputusan dengan hasil yang dijangkakan. Jika keputusan tidak seperti yang diharapkan, kami akan melaporkan ralat menggunakan fungsi t.Errorf().

  1. Jalankan ujian

Setelah kami menulis kod ujian, kami perlu menjalankannya untuk memastikan kod kami berfungsi dengan betul. Dalam bahasa Go, kod ujian boleh dijalankan dengan mudah menggunakan arahan go test.

Tukar ke direktori tempat kod ujian disimpan di terminal dan masukkan arahan berikut:

go test

Arahan ini akan mengesan kod ujian secara automatik dalam direktori ini dan menjalankannya. Jika semua ujian lulus, ia akan mencetak mesej berikut:

ok      <package_name>    0.500s

Jika tidak, ia akan mencetak ujian yang gagal dan mengembalikan mesej ralat yang sesuai.

  1. Menulis Kod Penanda Aras

Selain ujian unit, kami juga perlu menjalankan ujian penanda aras untuk menentukan prestasi kod kami di bawah jumlah input yang berbeza. Dalam bahasa Go, kita boleh menggunakan fungsi Penanda Aras dalam pakej ujian untuk menulis kod penanda aras.

Berikut ialah contoh:

package main

import "testing"

func BenchmarkAdd(b *testing.B) {
    for i := 0; i < b.N; i++ {
        add(2, 3)
    }
}

func add(a, b int) int {
    return a + b
}

Dalam contoh di atas, kami menulis fungsi penanda aras bernama "BenchmarkAdd", yang menguji fungsi add() yang kami tulis sendiri Prestasi. Fungsi penanda aras biasanya bermula dengan "Tanda Aras" dan memerlukan parameter *testing.B bernama "b".

Dalam fungsi penanda aras, kami menggunakan gelung for untuk menjalankan fungsi add() b.N kali, dengan b.N ialah integer yang mewakili berapa kali fungsi itu perlu dijalankan.

  1. Menjalankan Penanda Aras

Sama seperti menjalankan ujian unit, kami boleh menjalankan penanda aras dengan mudah menggunakan arahan go test. Dalam terminal, tukar ke direktori tempat kod penanda aras disimpan dan masukkan arahan berikut:

go test -bench=.

Perintah ini akan secara automatik mengesan kod penanda aras dalam direktori ini dan menjalankannya. Jika semua ujian lulus, mesej berikut akan dikeluarkan:

BenchmarkAdd-4       10000        174060 ns/op

Di mana, "BenchmarkAdd-4" merujuk kepada nama fungsi penanda aras dan bilangan GOMAXPROCS, dan "10000" merujuk kepada bilangan larian daripada fungsi add() Bilangan kali, "174060 ns/op" merujuk kepada purata masa yang digunakan setiap kali fungsi add() dijalankan.

Kesimpulan

Dalam artikel ini, kami memperkenalkan cara menggunakan bahasa Go untuk ujian. Kami mula-mula belajar cara menulis kod ujian unit untuk memastikan kod kami berfungsi dengan betul. Seterusnya, kami mempelajari cara menulis kod penanda aras untuk menentukan prestasi kod kami dengan jumlah input yang berbeza.

Secara keseluruhan, ujian adalah bahagian penting dalam pengaturcaraan Go. Dengan ujian yang baik, kami boleh menambah baik dan mengubah suai kod kami dengan lebih yakin, menghasilkan aplikasi yang lebih dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk menguji menggunakan bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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