NDD RSpec
RSpec utilities.
The API documentation can be find at RubyDoc.
Installation
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
Usage
Prerequisites
This gem requires:
rspec >= 3.0
And is tested with:
Ruby 2.4
Ruby 2.3
Ruby 2.2
be_sorted_by
expect(%w[1 2 3]).to be_sorted_by(:to_i) # => success
expect(%w[1 3 2]).to be_sorted_by(:to_i) # => failure
be_reverse_sorted_by
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
Development
Prerequisites
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
Setup
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
Release
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
Contributing
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.
License
The gem is available as open source under the terms of the MIT License.