RSpec utilities.
The API documentation can be find at RubyDoc.
Add this line to your application's Gemfile:
gem 'ndd-rspec-rails'
And then execute bundle
Or install it yourself with gem install ndd-rspec-rails
This gem requires:
rspec >= 3.0
And is tested with:
Ruby 2.4
Ruby 2.3
Ruby 2.2
expect(%w[1 2 3]).to be_sorted_by(:to_i) # => success
expect(%w[1 3 2]).to be_sorted_by(:to_i) # => failure
expect(%w[3 2 1]).to be_reverse_sorted_by(:to_i) # => true
expect(%w[1 3 2]).to be_reverse_sorted_by(:to_i) # => false
In order to extensively test this library with all the supported versions of Ruby and RSpec, you will need to manage:
- several Ruby environments using RVM
- several gems sets using Appraisal
- several test execution environments (Ruby and gems) using WWTD
After installing RVM, check out the repository and run bin/setup
to setup all the environments. This script will:
- create the latest Ruby environment with RVM and an associated gems set using the
.ruby-version
and.ruby-gemset
files:
rvm use
gem install bundler --no-rdoc --no-ri
bundle install
- install all the required Ruby versions listed in
.travis.yml
. For example:
export LOCAL_RUBY_VERSION=2.2.7 \
&& rvm install ruby-$LOCAL_RUBY_VERSION \
&& rvm use ruby-$LOCAL_RUBY_VERSION \
&& gem install bundler --no-rdoc --no-ri
export LOCAL_RUBY_VERSION=2.3.4 \
&& rvm install ruby-$LOCAL_RUBY_VERSION \
&& rvm use ruby-$LOCAL_RUBY_VERSION \
&& gem install bundler --no-rdoc --no-ri
export LOCAL_RUBY_VERSION=2.4.1 \
&& rvm install ruby-$LOCAL_RUBY_VERSION \
&& rvm use ruby-$LOCAL_RUBY_VERSION \
&& gem install bundler --no-rdoc --no-ri
- create a
Gemfile.lock
for each set of the dependencies:
appraisal install
- install all the dependencies in their associated environment:
wwtd --only-bundle
At last, to test this library in all the supported environments, just run:
wwtd --parallel
As a reminder...
- update the changelog
- update the library version
- update all dependencies in all the environments:
bundle update
appraisal update
wwtd --only-bundle
- run the tests in all the environments with
wwtd --parallel
- release with
bundle exec rake release
Bug reports and pull requests are welcome on GitHub at https://github.com/ddidier/ndd-rspec. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.