Ujian integrasi adalah penting untuk memastikan fungsi berjalan dengan betul apabila berinteraksi dengan komponen lain. Dalam Go, ujian integrasi boleh dilakukan menggunakan pakej ujian dan kaedah yang mensimulasikan permintaan/tindak balas HTTP. Kod sampel menunjukkan cara untuk menguji fungsi, mencadangkan menggunakan rangka kerja mengejek, menyemak input/output dan menggabungkan ujian unit dan penyepaduan.
Ujian integrasi dalam kitaran hayat fungsi Golang
Ujian integrasi adalah penting untuk memastikan fungsi berfungsi dengan baik apabila berinteraksi dengan komponen lain. Di Golang, anda boleh menggunakan pakej testing
untuk melaksanakan ujian penyepaduan fungsi dengan mensimulasikan permintaan dan respons HTTP. testing
包通过模拟 HTTP 请求和响应来对函数进行集成测试。
代码示例
假设我们有一个简单的函数 handleMessage
,它接收一个 context.Context
和一个 *http.Request
作为参数,并返回一个 *http.Response
:
func handleMessage(ctx context.Context, req *http.Request) (*http.Response, error) { // Function body }
我们可以使用以下代码对 handleMessage
Contoh Kod
Andaikan kita mempunyai fungsi mudahhandleMessage
yang menerima context.Context
dan *http.Request
sebagai parameter dan mengembalikan package your_package import ( "context" "fmt" "net/http" "net/http/httptest" "testing" "github.com/golang/protobuf/proto" ) func TestHandleMessage(t *testing.T) { // Create an HTTP request and set the body. r := httptest.NewRequest("POST", "/", nil) bodyBytes, err := proto.Marshal(&your_protobuf_object) if err != nil { t.Fatalf("Failed to marshal proto: %v", err) } r.Body = ioutil.NopCloser(bytes.NewReader(bodyBytes)) // Call the function under test. w := httptest.NewRecorder() handleMessage(context.Background(), r, w) // Check the response. if w.Code != http.StatusOK { t.Fatalf("Expected status code 200, got %d", w.Code) } fmt.Println("Integration test passed") }
handleMessage
: rrreeeKes sebenar
Atas ialah kandungan terperinci Ujian integrasi dalam kitaran hayat fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!