learning_go/testing/go-code-samples/mock-testing/fetchuser/test_fetchuser.go
a.pivkin 2e19663a63 puk
2025-12-22 07:57:42 +03:00

26 lines
530 B
Go

package fetchuser
import (
"testing"
gomock "go.uber.org/mock/gomock")
func TestProcessUser_Mockgen(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
user := User{ID: 1, Name: "Alice"}
mockFetcher := NewMockAPIFetcher(ctrl)
mockFetcher.EXPECT().FetchData(1).Return(user, nil)
result, err := ProcessUser(mockFetcher, 1)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if result != user {
t.Errorf("expected user: %v, got: %v", user, result)
}
}