oglematchers
is a package for the Go programming language containing a set of
matchers, useful in a testing or mocking framework, inspired by and mostly
compatible with Google Test for C++ and
Google JS Test. The package is used by the
ogletest testing framework and oglemock mocking
framework, which may be more directly useful to you, but can be generically used
elsewhere as well.
A "matcher" is simply an object with a Matches
method defining a set of golang
values matched by the matcher, and a Description
method describing that set.
For example, here are some matchers:
// Numbers
Equals(17.13)
LessThan(19)
// Strings
Equals("taco")
HasSubstr("burrito")
MatchesRegex("t.*o")
// Combining matchers
AnyOf(LessThan(17), GreaterThan(19))
There are lots more; see here for a reference. You can also add
your own simply by implementing the oglematchers.Matcher
interface.
First, make sure you have installed Go 1.0.2 or newer. See here for instructions.
Use the following command to install oglematchers
and keep it up to date:
go get -u github.com/jacobsa/oglematchers
See here for documentation. Alternatively, you can install the
package and then use godoc
:
godoc github.com/jacobsa/oglematchers