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/smartystreets/assertions/internal/oglematchers
See here for documentation. Alternatively, you can install the package and then use godoc:
godoc github.com/smartystreets/assertions/internal/oglematchers