learning_go/go-code-samples/mock-testing/fetchuser/fetchuser_mockgen_test.go
2025-12-20 10:21:45 +03:00

26 lines
486 B
Go

package fetchuser
import (
"testing"
"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)
}
}