Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menguji Fungsi dalam Pakej `utama` daripada Fail Ujian Berasingan?

Bagaimana untuk Menguji Fungsi dalam Pakej `utama` daripada Fail Ujian Berasingan?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 14:48:10828semak imbas

How to Test Functions in the `main` Package from Separate Test Files?

Menguji Fungsi Pakej Utama

Apabila menulis ujian untuk fungsi dalam pakej utama, anda mungkin menghadapi masalah mengaksesnya daripada ujian yang ditakrifkan secara berasingan fail. Ini kerana pakej utama tidak diimport secara eksplisit secara lalai dalam fail ujian. Untuk menyelesaikan masalah ini, terdapat dua pendekatan yang boleh anda pertimbangkan:

1. Tentukan Fail Pakej Utama pada Baris Perintah

Untuk memastikan pakej utama disertakan dalam proses ujian, anda mesti menentukan kedua-dua fail main.go dan main_test.go pada baris arahan semasa menjalankan ujian. Contohnya:

go test main.go main_test.go

Ini memastikan pakej utama tersedia dan boleh dirujuk dalam fail ujian.

2. Ubah suai Nama dan Tandatangan Fungsi Ujian

Untuk mengakses fungsi dalam pakej utama daripada fail ujian yang berasingan, pastikan fungsi ujian mengikut konvensyen ini:

  • Nama fungsi ujian mesti bermula dengan "Ujian" diikuti dengan fungsi yang akan diuji.
  • Fungsi ujian mesti mengambil penunjuk untuk menguji.T sebagai yang pertama parameter.

Sebagai contoh, fungsi ujian yang diubah suai berikut akan memanggil fungsi foo() dengan betul:

package main

import (
    "testing"
)

func TestFoo(t *testing.T) {
    t.Error(foo())
}

Dengan mengikuti langkah ini, anda boleh berjaya menguji fungsi dalam bahagian utama pakej daripada fail ujian berasingan.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Fungsi dalam Pakej `utama` daripada Fail Ujian Berasingan?. 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