mock icon indicating copy to clipboard operation
mock copied to clipboard

Add -embed flag into mockgen

Open stoikheia opened this issue 3 years ago • 1 comments

This proposal is to add an option -embed into mockgen.

Why: Sometimes we need to embed the source's interface (or structure) into a mock.

For example, a grpc server takes a mocked server implementation as an argument and determines if the interface is actually embedded as follows:

if !st.Implements(ht) {
	logger.Fatalf("grpc: Server.RegisterService found the handler of type %v that does not satisfy %v", st, ht)
}

https://github.com/grpc/grpc-go/blob/56ac86fa0f3940cb79946ce2c6e56f7ee7ecae84/server.go#L671

The following sample will result in an error when executed. https://github.com/stoikheia/GomockProposalSample1/blob/517c5bb860be39c9d2fa4faff6b0542fe29a7f3e/server/server_test.go#L26-L36

I think that -embed like option is necessary from above.

stoikheia avatar Nov 20 '22 17:11 stoikheia

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

google-cla[bot] avatar Nov 20 '22 17:11 google-cla[bot]