Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ujian automatik Golang: bagaimana untuk memastikan kualiti dan kebolehpercayaan kod?

Ujian automatik Golang: bagaimana untuk memastikan kualiti dan kebolehpercayaan kod?

王林
王林asal
2023-09-09 12:24:271330semak imbas

Ujian automatik Golang: bagaimana untuk memastikan kualiti dan kebolehpercayaan kod?

Pengujian automatik di Golang: Bagaimana untuk memastikan kualiti dan kebolehpercayaan kod?

Pengenalan:
Dalam proses pembangunan perisian, ujian adalah salah satu pautan utama untuk memastikan kualiti dan kebolehpercayaan kod. Ujian automatik ialah kaedah ujian yang cekap dan boleh dipercayai yang boleh membantu pembangun mengurangkan beban kerja ujian manual dan mengesan serta menyelesaikan masalah yang berpotensi lebih awal. Dalam artikel ini, kami akan memperkenalkan cara menggunakan alat ujian automatik Golang untuk memastikan kualiti dan kebolehpercayaan kod.

Contoh Kod:
Untuk lebih memahami konsep dan amalan ujian automatik, kami akan menggambarkannya menggunakan contoh mudah. Mari kita anggap ada pakej yang dipanggil "kalkulator" yang mengandungi dua fungsi: Tambah dan Tolak. Matlamat kami adalah untuk menulis kes ujian yang menguji ketepatan kedua-dua fungsi ini.

Pertama, kita perlu memasang alat ujian automatik Golang. Jalankan arahan berikut dalam terminal:

go get github.com/stretchr/testify/assert

Arahan ini akan memasang pakej testify, yang merupakan alat ujian Golang yang popular Ia menyediakan set penegasan dan fungsi alat yang kaya yang boleh membantu kami menulis lebih banyak lagi kod ujian ringkas dan Lebih mudah dibaca. testify包,这是一个流行的Golang测试工具,它提供了丰富的断言和工具函数,可以帮助我们编写更简洁和可读性更高的测试代码。

接下来,我们创建一个名为"calculator_test.go"的测试文件,并编写测试代码:

package calculator

import (
    "testing"
    "github.com/stretchr/testify/assert"
)

func TestAdd(t *testing.T) {
    result := Add(2, 3)
    expected := 5

    assert.Equal(t, expected, result, "Addition failed")
}

func TestSubtract(t *testing.T) {
    result := Subtract(5, 3)
    expected := 2

    assert.Equal(t, expected, result, "Subtraction failed")
}

在这个示例中,我们使用Test前缀开头的函数作为测试函数,并在函数内部使用assert来进行断言。这样,我们可以测试Add和Subtract函数的输出是否与预期值相匹配。

运行测试:
保存并退出测试文件后,在终端中使用如下命令运行测试:

go test -v

-v参数表示显示详细的测试结果。

如果一切顺利,你应该能够看到类似如下的输出:

=== RUN   TestAdd
--- PASS: TestAdd (0.00s)
=== RUN   TestSubtract
--- PASS: TestSubtract (0.00s)
PASS
ok

这表示我们的测试通过了,Add和Subtract函数的输出与预期值相匹配。

测试覆盖率:
除了验证代码输出的正确性,我们还需要关注测试的覆盖率。测试覆盖率是指测试代码对于被测代码的执行情况,通常以百分比的形式表示。

Golang的内置测试工具go test提供了一个-cover

Seterusnya, kami mencipta fail ujian bernama "calculator_test.go" dan menulis kod ujian:

go test -cover

Dalam contoh ini, kami menggunakan fungsi bermula dengan awalan Test sebagai fungsi ujian, Dan gunakan assert di dalam fungsi untuk membuat penegasan. Dengan cara ini, kita boleh menguji sama ada output fungsi Tambah dan Tolak sepadan dengan nilai yang dijangkakan.

Jalankan ujian:

Selepas menyimpan dan keluar dari fail ujian, gunakan arahan berikut dalam terminal untuk menjalankan ujian:

PASS
coverage: 100.0% of statements

Parameter -v bermaksud memaparkan keputusan ujian terperinci. 🎜🎜Jika semuanya berjalan lancar, anda sepatutnya dapat melihat output yang serupa dengan yang berikut: 🎜rrreee🎜Ini bermakna ujian kami lulus dan output fungsi Tambah dan Tolak sepadan dengan nilai yang dijangkakan. 🎜🎜Liputan ujian: 🎜Selain mengesahkan ketepatan output kod, kami juga perlu memberi perhatian kepada liputan ujian. Liputan ujian merujuk kepada pelaksanaan kod ujian untuk kod yang sedang diuji, biasanya dinyatakan sebagai peratusan. 🎜🎜Alat ujian terbina dalam Golang go test menyediakan parameter -cover untuk mengira liputan ujian. Kita boleh mendapatkan laporan liputan ujian dengan menjalankan arahan berikut pada baris arahan: 🎜rrreee🎜Ini akan menghasilkan keputusan yang serupa dengan yang berikut: 🎜rrreee🎜Ini bermakna liputan ujian kami adalah 100%. 🎜🎜Kesimpulan: 🎜Artikel ini memperkenalkan asas penggunaan alat ujian automatik Golang untuk memastikan kualiti dan kebolehpercayaan kod. Dengan menulis kes ujian, kami boleh mengesahkan ketepatan output kod dan menilai kesempurnaan ujian melalui analisis liputan ujian. Ujian automatik boleh membantu pembangun mengurangkan beban kerja ujian manual, meningkatkan kecekapan pembangunan, dan juga mengesan dan menyelesaikan masalah yang berpotensi lebih awal. Menguasai teknologi ujian automatik adalah sangat penting untuk meningkatkan kualiti dan kebolehpercayaan pembangunan perisian. 🎜

Atas ialah kandungan terperinci Ujian automatik Golang: bagaimana untuk memastikan kualiti dan kebolehpercayaan kod?. 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