petergtz / pegomock

Pegomock is a powerful, yet simple mocking framework for the Go programming language
Apache License 2.0
253 stars 28 forks source link

gomock source parsing does not work correctly on locally defined types #53

Open petergtz opened 6 years ago

petergtz commented 6 years ago

Given there is a

type CamelCaseType string

in display.go, then

cd generate_test_mocks/gomock_source/
ginkgo

will produce:

package matchers

import (
    "reflect"
    "github.com/petergtz/pegomock"
     ""
)

func AnyCamelCaseType() CamelCaseType {
    pegomock.RegisterMatcher(pegomock.NewAnyMatcher(reflect.TypeOf((*(CamelCaseType))(nil)).Elem()))
    var nullValue CamelCaseType
    return nullValue
}

func EqCamelCaseType(value CamelCaseType) CamelCaseType {
    pegomock.RegisterMatcher(&pegomock.EqMatcher{Value: value})
    var nullValue CamelCaseType
    return nullValue
}

i.e. an empty import.

Maybe the GoMock source parsing should be abandoned any favor of the xtools method.