uber-go / mock

GoMock is a mocking framework for the Go programming language.
Apache License 2.0
2.33k stars 121 forks source link

Mock for functions #205

Open tulzke opened 1 month ago

tulzke commented 1 month ago

We need the ability to create mocks for functions, not just for interfaces. It can be usually in cases, where we use callback functions. Example:

type RunFunc func(ctx context.Context) error

type Runner struct {
  // ...
  run RunFunc // cannot mock this function now
}

I don't want to use interface here, because it imposes a restriction on the name of the method. All I need is a contract match.

Feature request from old gomock: https://github.com/golang/mock/issues/519

Same feature is available in mockery now