Rumah pembangunan bahagian belakang Golang Menguji dan menyahpepijat fungsi Golang

Menguji dan menyahpepijat fungsi Golang

Apr 15, 2024 pm 03:36 PM
vscode golang ujian

Fungsi ujian dalam Golang: Buat fail ujian yang berakhir dengan _test.go. Isytiharkan fungsi ujian bernama TestXXX, dengan XXX ialah nama fungsi yang sedang diuji. Gunakan penegasan untuk mengesahkan bahawa hasil yang dijangkakan sepadan dengan keputusan sebenar. Tetapkan titik putus dan gunakan penyahpepijat untuk menyahpepijat kegagalan ujian. Gunakan alat ujian dan liputan dipacu jadual untuk meningkatkan kecekapan ujian.

Menguji dan menyahpepijat fungsi Golang

Pengujian dan Penyahpepijatan Fungsi Golang

Di Golang, ujian adalah amalan penting untuk memastikan kebolehpercayaan dan ketepatan kod. Tutorial ini akan membimbing anda tentang cara menggunakan rangka kerja ujian terbina dalam Golang untuk menguji dan menyahpepijat fungsi.

Menguji fungsi

Untuk menguji fungsi, anda perlu mencipta fail baharu yang berakhir dengan _test.go. Fail ini terletak dalam pakej yang sama dengan fungsi yang sedang diuji. Dalam fail ujian, isytiharkan fungsi ujian menggunakan fungsi TestXXX bagi pakej testing, dengan XXX ialah nama fungsi yang sedang diuji. Contohnya: _test.go 结尾的新文件。该文件位于与被测函数相同的包中。在测试文件中,使用 testing 包的 TestXXX 函数声明一个测试函数,其中 XXX 是被测函数的名称。例如:

// my_function_test.go

package mypackage

import (
    "testing"
)

func TestAdd(t *testing.T) {
    // ...
}
Salin selepas log masuk

断言

在测试函数中,使用断言来验证预期结果与实际结果是否一致。testing 包提供了多种断言函数,例如:

  • t.Equal(a, b):验证 ab 是否相等
  • t.ErrorIs(err, expectedError):验证 errexpectedError 是否是相同的错误
  • t.True(cond):验证 condtrue

实战案例

假设你有一个名为 add 的函数,该函数接受两个数字参数并返回它们的和。你可以编写以下测试函数来测试 add

// my_function_test.go

import (
    "testing"
)

func TestAdd(t *testing.T) {
    tests := []struct {
        a, b int
        want int
    }{
        {1, 2, 3},
        {3, 4, 7},
        {-1, -2, -3},
    }

    for _, tt := range tests {
        got := add(tt.a, tt.b)
        if got != tt.want {
            t.Errorf("add(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want)
        }
    }
}
Salin selepas log masuk

Assertion

Dalam fungsi ujian, gunakan penegasan untuk mengesahkan sama ada keputusan yang dijangkakan adalah konsisten dengan keputusan sebenar. Pakej testing menyediakan pelbagai fungsi penegasan, seperti:

t.Equal(a, b): Sahkan a dan Sama ada b adalah samat.ErrorIs(err, expectedError): Sahkan sama ada err dan expectedError adalah sama error

    t.True(cond): Sahkan bahawa cond adalah true
  • Kes praktikal
Andaikan anda mempunyai fail dinamakan fungsi add yang menerima dua argumen berangka dan mengembalikan jumlahnya. Anda boleh menulis fungsi ujian berikut untuk menguji fungsi add: 🎜rrreee🎜🎜Penyahpepijatan🎜🎜🎜Untuk kes penyahpepijatan di mana ujian gagal, anda boleh menggunakan penyahpepijat dengan menetapkan titik putus dalam kod sumber. Dalam IDE seperti VSCode, anda boleh menetapkan titik putus dengan mengklik kanan pada baris dalam kod dan memilih "Tetapkan/Alih Keluar Titik Putus." Apabila kod dijalankan dalam penyahpepijat, ia akan berhenti seketika pada titik putus, membolehkan anda memeriksa pembolehubah dan jejak tindanan. 🎜🎜🎜Petua🎜🎜🎜🎜Gunakan ujian dipacu jadual untuk memudahkan ujian beberapa set input. 🎜🎜Gunakan alat liputan untuk memastikan kod ujian merangkumi logik fungsi yang mencukupi. 🎜🎜Sepadukan kod ujian dengan sistem penyepaduan berterusan untuk menjalankan ujian secara automatik apabila kod berubah. 🎜🎜

Atas ialah kandungan terperinci Menguji dan menyahpepijat fungsi Golang. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu 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)

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Cara menetapkan vscode Cara menetapkan vscode Apr 15, 2025 pm 10:45 PM

Untuk mengaktifkan dan menetapkan vscode, ikuti langkah -langkah ini: Pasang dan mulakan vscode. Keutamaan tersuai termasuk tema, fon, ruang, dan pemformatan kod. Pasang sambungan untuk meningkatkan ciri seperti plugin, tema, dan alat. Buat projek atau buka projek yang sedia ada. Gunakan Intellisense untuk mendapatkan arahan dan penyelesaian kod. Debug kod untuk melangkah melalui kod, tetapkan titik putus, dan periksa pembolehubah. Sambungkan sistem kawalan versi untuk menguruskan perubahan dan kod komit.

Perlumbaan Prestasi: Golang vs C Perlumbaan Prestasi: Golang vs C Apr 16, 2025 am 12:07 AM

Golang dan C masing-masing mempunyai kelebihan sendiri dalam pertandingan prestasi: 1) Golang sesuai untuk kesesuaian tinggi dan perkembangan pesat, dan 2) C menyediakan prestasi yang lebih tinggi dan kawalan halus. Pemilihan harus berdasarkan keperluan projek dan tumpukan teknologi pasukan.

VSCODE Permulaan Projek Projek Front-End VSCODE Permulaan Projek Projek Front-End Apr 15, 2025 pm 10:00 PM

Perintah untuk memulakan projek front-end di vscode adalah kod. Langkah -langkah khusus termasuk: Buka folder projek. Mula vscode. Buka projek. Masukkan kod arahan permulaan. Dalam panel terminal. Tekan Enter untuk memulakan projek.

Kunci Pintasan Tugas VSCode Running Kunci Pintasan Tugas VSCode Running Apr 15, 2025 pm 09:39 PM

Jalankan tugas dalam vscode: Buat fail Tasks.json, tentukan versi dan senarai tugas; Konfigurasikan label, perintah, args, dan jenis tugas; simpan dan tambah nilai tugas; Jalankan tugas menggunakan kekunci pintasan CTRL Shift B (macOS untuk CMD Shift B).

Bahasa apa yang digunakan vscode Bahasa apa yang digunakan vscode Apr 15, 2025 pm 11:03 PM

Kod Visual Studio (VSCode) dibangunkan oleh Microsoft, dibina menggunakan rangka kerja elektron, dan terutamanya ditulis dalam JavaScript. Ia menyokong pelbagai bahasa pengaturcaraan, termasuk JavaScript, Python, C, Java, HTML, CSS, dan lain -lain, dan boleh menambah sokongan untuk bahasa lain melalui sambungan.

Tutorial Penggunaan Terminal VSCode Tutorial Penggunaan Terminal VSCode Apr 15, 2025 pm 10:09 PM

VSCODE Terminal terbina dalam adalah alat pembangunan yang membolehkan arahan dan skrip berjalan dalam editor untuk memudahkan proses pembangunan. Cara Menggunakan VSCode Terminal: Buka terminal dengan kekunci pintasan (Ctrl/Cmd). Masukkan arahan atau jalankan skrip. Gunakan hotkeys (seperti Ctrl L untuk membersihkan terminal). Tukar direktori kerja (seperti perintah CD). Ciri -ciri lanjutan termasuk mod debug, penyelesaian coretan kod automatik, dan sejarah arahan interaktif.

VSCODE Kunci Pintasan Seterusnya Sebelumnya VSCODE Kunci Pintasan Seterusnya Sebelumnya Apr 15, 2025 pm 10:51 PM

VS kod satu langkah/langkah seterusnya langkah pintas: satu langkah (mundur): Windows/Linux: Ctrl ←; MacOS: CMD ← Langkah seterusnya (ke hadapan): Windows/Linux: Ctrl →; MACOS: CMD →

See all articles