周玉环 d906a41c2e first commit 5 days ago
..
.gitignore d906a41c2e first commit 5 days ago
.travis.yml d906a41c2e first commit 5 days ago
LICENSE d906a41c2e first commit 5 days ago
README.md d906a41c2e first commit 5 days ago
any_of.go d906a41c2e first commit 5 days ago
contains.go d906a41c2e first commit 5 days ago
deep_equals.go d906a41c2e first commit 5 days ago
equals.go d906a41c2e first commit 5 days ago
greater_or_equal.go d906a41c2e first commit 5 days ago
greater_than.go d906a41c2e first commit 5 days ago
less_or_equal.go d906a41c2e first commit 5 days ago
less_than.go d906a41c2e first commit 5 days ago
matcher.go d906a41c2e first commit 5 days ago
not.go d906a41c2e first commit 5 days ago
transform_description.go d906a41c2e first commit 5 days ago

README.md

GoDoc

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.

Installation

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

Documentation

See here for documentation. Alternatively, you can install the package and then use godoc:

godoc github.com/smartystreets/assertions/internal/oglematchers