Github.com/uber/mock
Jump to navigation
Jump to search
External
Internal
Overview
Installation
To install mockgen
:
Import
import "go.uber.org/mock/gomock"
mockgen
To generate the mock code at stdout:
mockgen -package <name_of_the_package_mock_will_belong_to> <package_import_path> <InterfaceName>[,<InterfaceName>]
Bazel Integration with the gomock
Rule
Attributes
name
interfaces
package
The package name to use in the generated output. See the gomock
documentation on -package
for more information.
library
The go_library
to find the interfaces in.
out
The name of the generated source code file. The file will be written in the current directory.
Programming Model
Setup Expectations
Define the Behavior of a Method
Configuring a mock to handle a specific method call.
someMock.EXPECT().SomeMethod(gomock.Any(), "some specific value").Return("some other value")
Note that if the method is not called at the end of the test, the mock will fail the test with:
missing call(s) to *mock_pkg.MockSomething.SomeMethod(...) aborting test due to missing call(s)