0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Matchi extension gem to provide some RSpec matchers.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Matchi::Rspec

Version Yard documentation CI RuboCop License

Extend Matchi matchers with some RSpec's ones.

Installation

Add this line to your application's Gemfile:

gem "matchi-rspec"

And then execute:

bundle

Or install it yourself as:

gem install matchi-rspec

Usage

To make Matchi::Rspec available:

require "matchi/rspec"

All examples here assume that this has been done.

Built-in matchers

Identity matcher:

be = Matchi::Matcher::Be.new(42)
be.matches? { 42 } # => true

Type/class matcher:

be_instance_of = Matchi::Matcher::BeInstanceOf.new(String)
be_instance_of.matches? { "foo" } # => true

Equivalence matcher:

eq = Matchi::Matcher::Eq.new("foo")
eq.matches? { "foo" } # => true

Helper methods

For convenience, it is possible to instantiate a matcher with a method rather than with its class. To do so, the Helper module can be included like this:

require "matchi/helper"

class MatcherCollection
  include ::Matchi::Helper
end

The set of loaded matcher then becomes accessible via a dynamically generated instance method, like these:

matcher = MatcherCollection.new
matcher.be(42).matches? { 44 } # => false
matcher.be_instance_of(String).matches? { "안녕하세요" } # => true

Contact

Versioning

Matchi::Rspec follows Semantic Versioning 2.0.

License

The gem is available as open source under the terms of the MIT License.


This project is sponsored by:
Sashite