Rumah pembangunan bahagian belakang Golang Kemahiran rangka kerja ujian automatik dalam bahasa Go

Kemahiran rangka kerja ujian automatik dalam bahasa Go

May 31, 2023 pm 09:51 PM
Ujian automatik Kemahiran rangka kerja ujian

Dengan pembangunan berterusan pembangunan perisian, ujian telah menjadi bahagian penting dalam memastikan kualiti perisian. Rangka kerja ujian automatik ialah alat penting dalam proses ujian, yang boleh meningkatkan kecekapan dan ketepatan ujian. Artikel ini akan memperkenalkan kemahiran rangka kerja ujian automatik dalam bahasa Go untuk membantu pembaca menjalankan ujian automatik dengan lebih baik.

1. Pengenalan kepada ujian automatik bahasa Go

Bahasa Go ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google, yang mudah, cekap dan boleh dipercayai. Bahasa Go mempunyai rangka kerja ujian yang kaya, termasuk pakej ujian dalam perpustakaan standard dan pelbagai rangka kerja dalam perpustakaan pihak ketiga. Antaranya, pakej ujian ialah rangka kerja ujian yang disertakan dengan bahasa Go, menyediakan fungsi ujian asas, seperti ujian unit, ujian penanda aras dan ujian sampel. Rangka kerja ujian perpustakaan pihak ketiga adalah lebih fleksibel dan boleh memenuhi keperluan ujian yang berbeza.

2. Pakej ujian bahasa Go sendiri

  1. Ujian unit

Ujian unit ialah ujian unit terkecil yang boleh diuji dalam program, biasanya berfungsi atau kaedah. Dalam bahasa Go, ujian unit disusun dan dilaksanakan menggunakan kaedah t.Run() bagi pakej ujian. Kaedah t.Run() menerima dua parameter, yang pertama ialah nama ujian, dan yang kedua ialah fungsi ujian. Seperti yang ditunjukkan dalam kod berikut:

func TestAdd(t *testing.T) {
    t.Run("Test add 1 and 2", func(t *testing.T) {
        result := add(1, 2)
        if result != 3 {
            t.Errorf("Expected 3, but got %v", result)
        }
    })

    t.Run("Test add 3 and -2", func(t *testing.T) {
        result := add(3, -2)
        if result != 1 {
            t.Errorf("Expected 1, but got %v", result)
        }
    })
}

func add(x, y int) int {
    return x + y
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi TestAdd() untuk ujian unit. Dalam fungsi TestAdd(), hasil daripada dua panggilan fungsi add(1, 2) dan add(3, -2) diuji melalui kaedah t.Run(). Jika ujian gagal, gunakan kaedah t.Errorf() untuk mengeluarkan maklumat ralat. Kedua-dua nama kes ujian dan fungsi ujian hendaklah diawali dengan Ujian.

  1. Ujian penanda aras

Ujian penanda aras ialah ujian yang digunakan untuk menguji prestasi program, biasanya digunakan untuk membandingkan kecekapan pelaksanaan yang berbeza. Dalam bahasa Go, ujian penanda aras juga diatur dan dilaksanakan menggunakan kaedah t.Run() bagi pakej ujian. Perbezaannya ialah fungsi penanda aras perlu menggunakan kaedah t.StartTimer() dan t.StopTimer() untuk pemasaan. Seperti yang ditunjukkan dalam kod berikut:

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

func add(x, y int) int {
    return x + y
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi BenchmarkAdd() untuk melaksanakan ujian penanda aras. Fungsi ini menggunakan gelung for untuk melaksanakan beberapa panggilan fungsi tambah(1, 2) Sebelum setiap pelaksanaan, masa dimulakan melalui kaedah b.StartTimer() dan selepas pelaksanaan selesai, masa dihentikan melalui b.StopTimer. (). Keputusan ujian akan mengeluarkan purata masa dan masa setiap pelaksanaan.

  1. Ujian sampel

Ujian sampel digunakan untuk menguji sama ada kod sampel dalam dokumentasi program adalah betul. Dalam bahasa Go, ujian contoh juga diatur dan dilaksanakan menggunakan kaedah t.Run() bagi pakej ujian. Contoh fungsi ujian perlu diawali dengan Contoh dan diletakkan dalam ulasan dokumentasi yang sepadan. Seperti yang ditunjukkan dalam kod berikut:

// This example tests the add function.
func ExampleAdd() {
    fmt.Println(add(1, 2))
    fmt.Println(add(3, -2))
    // Output:
    // 3
    // 1
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi ExampleAdd() untuk menguji ketepatan fungsi tambah. Fungsi ini mengeluarkan dua hasil panggilan fungsi tambah melalui kaedah fmt.Println() Output yang dijangkakan ialah 3 dan 1. Akhir sekali, gunakan ulasan untuk menandakan hasil output supaya rangka kerja ujian dapat dibandingkan.

3. Rangka kerja ujian pihak ketiga

Selain pakej ujian yang disertakan dengan bahasa Go, terdapat juga beberapa rangka kerja ujian pihak ketiga yang boleh memenuhi keperluan ujian yang lebih maju. Berikut ialah beberapa rangka kerja ujian yang biasa digunakan:

  1. GoConvey

GoConvey ialah rangka kerja ujian sumber terbuka yang boleh menjalankan ujian gaya BDD (pembangunan dipacu tingkah laku). GoConvey bukan sahaja boleh digunakan untuk ujian unit, tetapi juga menyediakan antara muka web untuk melihat keputusan dan liputan ujian dengan mudah. Pemasangan dan penggunaan GoConvey adalah sangat mudah Anda boleh memasangnya melalui arahan berikut:

$ go get github.com/smartystreets/goconvey
Salin selepas log masuk
  1. testify

testify ialah rangka kerja ujian yang popular dalam bahasa Go dan menyediakan banyak abah-abah Ujian dan fungsi penegasan. Sintaks testimoni adalah ringkas dan mudah difahami, yang boleh membantu pembangun menulis kes ujian dengan cepat. testimoni boleh dipasang melalui arahan berikut:

$ go get github.com/stretchr/testify
Salin selepas log masuk
  1. ginkgo

ginkgo ialah rangka kerja ujian gaya BDD yang menyediakan sintaks dan alatan yang kaya untuk menjadikan kod ujian lebih Mudah untuk baca dan fahami. Ginkgo juga menyediakan alatan dan alatan menjalankan ujian berasaskan baris arahan untuk menjana laporan ujian secara automatik. Ginkgo boleh dipasang melalui arahan berikut:

$ go get github.com/onsi/ginkgo/ginkgo
$ go get github.com/onsi/gomega/...
Salin selepas log masuk

4. Ringkasan

Artikel ini memperkenalkan kemahiran rangka kerja ujian automatik dalam bahasa Go, termasuk pakej ujian dalam perpustakaan standard dan yang ketiga- rangka kerja ujian parti. Melalui rangka kerja ujian ini, pembangun boleh menulis pelbagai kes ujian dengan mudah dan menjalankannya dengan cepat, dengan itu meningkatkan kualiti perisian dan kecekapan pembangunan.

Atas ialah kandungan terperinci Kemahiran rangka kerja ujian automatik dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perkongsian Petua Win11: Langkau Log Masuk Akaun Microsoft dengan Satu Helah Perkongsian Petua Win11: Langkau Log Masuk Akaun Microsoft dengan Satu Helah Mar 27, 2024 pm 02:57 PM

Perkongsian Petua Win11: Satu helah untuk melangkau log masuk akaun Microsoft Windows 11 ialah sistem pengendalian terkini yang dilancarkan oleh Microsoft, dengan gaya reka bentuk baharu dan banyak fungsi praktikal. Walau bagaimanapun, bagi sesetengah pengguna, perlu log masuk ke akaun Microsoft mereka setiap kali mereka boot sistem boleh menjadi agak menjengkelkan. Jika anda salah seorang daripada mereka, anda juga boleh mencuba petua berikut, yang akan membolehkan anda melangkau log masuk dengan akaun Microsoft dan memasuki antara muka desktop secara langsung. Pertama, kita perlu mencipta akaun tempatan dalam sistem untuk log masuk dan bukannya akaun Microsoft. Kelebihan melakukan ini ialah

Apakah petua untuk orang baru membuat borang? Apakah petua untuk orang baru membuat borang? Mar 21, 2024 am 09:11 AM

Kami sering membuat dan mengedit jadual dalam excel, tetapi sebagai orang baru yang baru bersentuhan dengan perisian, cara menggunakan excel untuk mencipta jadual bukanlah semudah bagi kami. Di bawah, kami akan menjalankan beberapa latihan mengenai beberapa langkah penciptaan meja yang perlu dikuasai oleh pemula, iaitu pemula, Kami berharap ia akan membantu mereka yang memerlukan. Contoh borang untuk pemula ditunjukkan di bawah: Mari lihat cara melengkapkannya! 1. Terdapat dua kaedah untuk mencipta dokumen excel baharu. Anda boleh klik kanan tetikus pada lokasi kosong pada fail [Desktop] - [Baru] - [xls]. Anda juga boleh [Mula]-[Semua Program]-[Microsoft Office]-[Microsoft Excel 20**] 2. Dwiklik bekas baharu kami

Perkara yang mesti dimiliki oleh veteran: Petua dan langkah berjaga-jaga untuk * dan & dalam bahasa C Perkara yang mesti dimiliki oleh veteran: Petua dan langkah berjaga-jaga untuk * dan & dalam bahasa C Apr 04, 2024 am 08:21 AM

Dalam bahasa C, ia mewakili penunjuk, yang menyimpan alamat pembolehubah lain & mewakili pengendali alamat, yang mengembalikan alamat memori pembolehubah. Petua untuk menggunakan penunjuk termasuk mentakrifkan penunjuk, membatalkan rujukan dan memastikan bahawa penunjuk menunjuk ke alamat yang sah & termasuk mendapatkan alamat pembolehubah, dan mengembalikan alamat elemen pertama tatasusunan apabila mendapatkan alamat elemen tatasusunan; . Contoh praktikal yang menggambarkan penggunaan penunjuk dan pengendali alamat untuk membalikkan rentetan.

Panduan Bermula VSCode: Mesti dibaca untuk pemula untuk menguasai kemahiran penggunaan dengan cepat! Panduan Bermula VSCode: Mesti dibaca untuk pemula untuk menguasai kemahiran penggunaan dengan cepat! Mar 26, 2024 am 08:21 AM

VSCode (Visual Studio Code) ialah editor kod sumber terbuka yang dibangunkan oleh Microsoft Ia mempunyai fungsi yang berkuasa dan sokongan pemalam yang kaya, menjadikannya salah satu alat pilihan untuk pembangun. Artikel ini akan menyediakan panduan pengenalan untuk pemula untuk membantu mereka menguasai kemahiran menggunakan VSCode dengan cepat. Dalam artikel ini, kami akan memperkenalkan cara memasang VSCode, operasi penyuntingan asas, kekunci pintasan, pemasangan pemalam, dsb., dan menyediakan contoh kod khusus kepada pembaca. 1. Pasang VSCode dahulu, kita perlu

Trik Win11 Didedahkan: Cara Memintas Log Masuk Akaun Microsoft Trik Win11 Didedahkan: Cara Memintas Log Masuk Akaun Microsoft Mar 27, 2024 pm 07:57 PM

Helah Win11 didedahkan: Cara memintas log masuk akaun Microsoft Baru-baru ini, Microsoft melancarkan sistem pengendalian baharu Windows11, yang telah menarik perhatian meluas. Berbanding dengan versi sebelumnya, Windows 11 telah membuat banyak pelarasan baharu dari segi reka bentuk antara muka dan penambahbaikan fungsi, tetapi ia juga telah menyebabkan beberapa kontroversi Perkara yang paling menarik perhatian ialah ia memaksa pengguna untuk log masuk ke sistem dengan akaun Microsoft . Bagi sesetengah pengguna, mereka mungkin lebih terbiasa log masuk dengan akaun tempatan dan tidak bersedia untuk mengikat maklumat peribadi mereka ke akaun Microsoft.

Kemahiran pengaturcaraan PHP: Bagaimana untuk melompat ke halaman web dalam masa 3 saat Kemahiran pengaturcaraan PHP: Bagaimana untuk melompat ke halaman web dalam masa 3 saat Mar 24, 2024 am 09:18 AM

Tajuk: Petua Pengaturcaraan PHP: Cara Melompat ke Halaman Web dalam masa 3 Saat Dalam pembangunan web, kita sering menghadapi situasi di mana kita perlu melompat ke halaman lain secara automatik dalam tempoh masa tertentu. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan teknik pengaturcaraan untuk melompat ke halaman dalam masa 3 saat, dan memberikan contoh kod khusus. Pertama sekali, prinsip asas lompat halaman direalisasikan melalui medan Lokasi dalam pengepala respons HTTP. Dengan menetapkan medan ini, penyemak imbas secara automatik boleh melompat ke halaman yang ditentukan. Di bawah ialah contoh mudah yang menunjukkan cara menggunakan P

Pemahaman mendalam tentang teknik pemfaktoran semula fungsi dalam bahasa Go Pemahaman mendalam tentang teknik pemfaktoran semula fungsi dalam bahasa Go Mar 28, 2024 pm 03:05 PM

Dalam pembangunan program bahasa Go, kemahiran pembinaan semula fungsi adalah bahagian yang sangat penting. Dengan mengoptimumkan dan memfaktorkan semula fungsi, anda bukan sahaja boleh meningkatkan kualiti dan kebolehselenggaraan kod, tetapi juga meningkatkan prestasi program dan kebolehbacaan. Artikel ini akan menyelidiki teknik pembinaan semula fungsi dalam bahasa Go, digabungkan dengan contoh kod khusus, untuk membantu pembaca memahami dan menggunakan teknik ini dengan lebih baik. 1. Contoh kod 1: Ekstrak serpihan kod pendua Dalam pembangunan sebenar, kita sering menghadapi serpihan kod yang digunakan semula Pada masa ini, kita boleh mempertimbangkan untuk mengekstrak kod berulang sebagai fungsi bebas

Penerangan terperinci tentang kemahiran penggunaan simbol √ dalam kotak perkataan Penerangan terperinci tentang kemahiran penggunaan simbol √ dalam kotak perkataan Mar 25, 2024 pm 10:30 PM

Penjelasan terperinci tentang petua menggunakan simbol √ dalam kotak Word Dalam kerja dan kajian harian, kita selalunya perlu menggunakan Word untuk penyuntingan dan penataan dokumen. Antaranya, simbol √ adalah simbol biasa, yang biasanya bermaksud "betul". Menggunakan simbol √ dalam kotak Word boleh membantu kami menyampaikan maklumat dengan lebih jelas dan meningkatkan profesionalisme dan keindahan dokumen. Seterusnya, kami akan memperkenalkan secara terperinci kemahiran menggunakan simbol √ dalam kotak Word, dengan harapan dapat membantu semua orang. 1. Masukkan simbol √ Dalam Word, terdapat banyak cara untuk memasukkan simbol √. satu

See all articles