matryer / moq

Interface mocking tool for go generate
http://bit.ly/meetmoq
MIT License
1.98k stars 126 forks source link

Moq failing when encountering a generic function #209

Closed geritol closed 1 year ago

geritol commented 1 year ago

I am using latest moq version with go1.21

Moq seems to error when it encounters a generic function (it is not part of the mocked interface):

geritol@Gergos-MBP actions % go version
go version go1.21.0 darwin/arm64
geritol@Gergos-MBP actions % moq -out MockAAA_test.go -stub . AAA -fmt noop
couldn't load source package: some-file.go:367:15: expected '(', found '[' (and 30 more errors)
moq [flags] source-dir interface [interface2 [interface3 [...]]]
  -fmt string
        go pretty-printer: gofmt, goimports or noop (default gofmt)
  -out string
        output file (default stdout)
  -pkg string
        package name (default will infer)
  -rm
        first remove output file, if it exists
  -skip-ensure
        suppress mock implementation check, avoid import cycle if mocks generated outside of the tested package
  -stub
        return zero values when no mock implementation is provided, do not panic
  -version
        show the version for moq
Specifying an alias for the mock is also supported with the format 'interface:alias'
Ex: moq -pkg different . MyInterface:MyMock

Not sure how to resolve this.

geritol commented 1 year ago

Probably was an issue with the installed moq version (I have used go install github.com/matryer/moq@latest as per the docs).

After doing go install github.com/matryer/moq@v0.3.2 it is working properly.

moq -version yielded moq version dev for both versions.