Dalam pembangunan Go, anda boleh meningkatkan kebolehujian jenis fungsi melalui strategi berikut: gunakan antara muka untuk mengasingkan jenis fungsi dan pelaksanaannya; Menyuntik olok-olok atau stub ujian dengan mudah;
Strategi kestabilan untuk jenis fungsi Go
Pembangunan In Go, untuk mencapai ujian yang berkesan bagi jenis fungsi, strategi khusus perlu diguna pakai. Artikel ini menerangkan strategi ini dan menggambarkannya dengan contoh praktikal.
1. Pengasingan antara muka
Menggunakan antara muka untuk menentukan jenis fungsi boleh memisahkan pelaksanaan khusus fungsi daripada antara mukanya. Pengasingan ini membolehkan anda menguji kelakuan fungsi dengan mudah menggunakan objek olok-olok atau stub ujian tanpa bergantung pada pelaksanaan sebenar.
Contoh:
type UserRepository interface { GetUser(id int) (*User, error) }
2. Menggunakan objek olok-olok membolehkan anda membuat pelaksanaan palsu untuk antara muka, membolehkan anda mengawal input fungsi dan mengesahkan outputnya. . Ini membolehkan anda menyuntik olok-olok atau stub ujian dengan mudah semasa ujian. . Ini membolehkan anda menguji dengan pelaksanaan yang berbeza dan memastikan bahawa fungsi sentiasa berkelakuan seperti yang diharapkan.
Contoh:
import "testing" func TestGetUser(t *testing.T) { mockRepo := &mockUserRepository{} mockRepo.On("GetUser").Return(&User{Name: "John Doe"}, nil) service := NewUserService(mockRepo) user, err := service.GetUser(1) if user.Name != "John Doe" || err != nil { t.Errorf("GetUser() failed. Expected: John Doe, nil. Got: %s, %v", user.Name, err) } }
Uji kelakuan fungsi di bawah keadaan marginal, seperti input kosong, output kosong atau keadaan ralat. Ini memastikan bahawa fungsi berfungsi dengan betul dalam pelbagai senario.
Contoh:
func NewUserService(repo UserRepository) *UserService { return &UserService{ repo: repo, } }
Atas ialah kandungan terperinci Apakah strategi kebolehujian untuk jenis fungsi Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!