xdotcommer / rspec-custom-matchers
- Source
- Commits
- Network (6)
- Issues (1)
- Downloads (0)
- Wiki (1)
- Graphs
-
Tree:
10aca0d
Greg Weber (author)
Thu Apr 16 08:15:22 -0700 2009
rspec-custom-matchers / README.markdown
RSpec Custom Matchers
This gem makes it really easy to define your own RSpec custom matchers in 1 line of code.
This class / project is created by xdotcommer and updated by remi to make it an easy-to-install RubyGem.
Install
sudo gem install rspec-custom-matchers -s http://gems.github.com
Usage
Wherever you want to include the matcher method, include CustomMatcher::Helper
Remember, if you want to be able to call matcher(:foo) in the body of a class,
you might want to extend CustomMatcher::Helper instead of including it.
Personally, I like to keep all of my own custom matchers for a project in a module, so I do ...
require 'rspec-custom-matchers'
module MyMatchers
extend CustomMatcher::Helper
matcher(:be_divisible_by) { |number, divisor| number % divisor == 0 }
matcher(:be_even) { |even| even % 2 == 0 }
matcher(:be_odd) { |odd| odd % 2 != 0 }
matcher(:be_equal_to)
end
and then, in my spec_helper.rb
require 'my_matchers'
Spec::Runner.configure do |config|
config.include MyMatchers # this will make the matchers available to your specs
end
That's how I do it!
TODO
- should support
matcher(:x){}as well as merb'sSpec::Matcher.create, which has more features and can be found atmerb-core/lib/merb-core/test/test_ext/rspec.rb
