commit | 06883d979f10cc178f2716846215c8cf90f9e363 | [log] [tgz] |
---|---|---|
author | David Symonds <dsymonds@golang.org> | Fri Aug 21 03:58:07 2015 |
committer | David Symonds <dsymonds@golang.org> | Fri Aug 21 03:58:37 2015 |
tree | 9d5e3d51a37ef7a5899e3c687c4e1863574ba13b | |
parent | d581abfc04272f381d7a05e4b80163ea4e2b9447 [diff] |
mockgen: Support struct{} in types when in source mode. Fixes #8.
GoMock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing
package, but can be used in other contexts too.
Once you have installed Go, run these commands to install the gomock
package and the mockgen
tool:
go get github.com/golang/mock/gomock go get github.com/golang/mock/mockgen
After installing, you can use go doc
to get documentation:
go doc github.com/golang/mock/gomock
Alternatively, there is an online reference for the package hosted on GoPkgDoc here.
The mockgen
command is used to generate source code for a mock class given a Go source file containing interfaces to be mocked. It supports the following flags:
-source
: The file containing interfaces to be mocked. You must supply this flag.
-destination
: A file to which to write the resulting source code. If you don't set this, the code is printed to standard output.
-package
: The package to use for the resulting mock class source code. If you don't set this, the package name is mock_
concatenated with the package of the input file.
-imports
: A list of explicit imports that should be used in the resulting source code, specified as a comma-separated list of elements of the form foo=bar/baz
, where bar/baz
is the package being imported and foo
is the identifier to use for the package in the generated source code.
-aux_files
: A list of additional files that should be consulted to resolve e.g. embedded interfaces defined in a different file. This is specified as a comma-separated list of elements of the form foo=bar/baz.go
, where bar/baz.go
is the source file and foo
is the package name of that file used by the -source file.
For an example of the use of mockgen
, see the sample/
directory. In simple cases, you will need only the -source
flag.
TODO: Brief overview of how to create mock objects and set up expectations, and an example.