[rspec-users] rspec-2.5.0 is released!

David Chelimsky dchelimsky at gmail.com
Sun Feb 6 11:17:24 EST 2011

RSpec-2.5.0 is released!

This is a minor upgrade, and is fully backward compatible with rspec-2.4. It includes several bug fixes, enhancements, and one deprecation. See the changelog below for details.

We had a little glitch publishing the docs to [http://relishapp.com/rspec](http://relishapp.com/rspec), so the 2.5 docs won't be up for another day or two, so I'll detail the noticable differences here (and on http://blog.davidchelimsky.net/2011/02/06/rspec-250-is-released/).

## Autotest/Bundler integration

### --skip-bundler

RSpec's Autotest integration assumes that you want `bundle exec` in the shell command generated by Autotest if you have a `Gemfile`. This works fine for some situations, but not all, so we added an opt-out for rspec-2.5:

    autotest -- --skip-bundler

Autotest ignores everything after the initial `--`, so RSpec's Autotest extension handles the `--skip-bundler` option.

### Autotest's bundler plugin

Autotest ships with a plugin for bundler. Just add the following to a `.autotest` file in the project's root directory, or your home directory:

    require 'autotest/bundler'

This prefixes the generated shell command with 'bundle exec'.

### Implicit detection of Gemfile is deprecated

Given that Autotest has its own way of dealing with Bundler (see above), we deprecated the implicit assumption that `Gemfile` means "use bundler". You'll see a deprecation notice if you are relying on that, but it _still works_. It's just a deprecation warning. To silence the warning, either use the `--skip-bundler` option or Autotest's bundler plugin, described above.

## HTML Formatter

The HTML formatter now has a set of checkboxes in the header that allow you to filter what you're looking at:

<img src="https://img.skitch.com/20110205-xup5ktgdua75rfs8fwtr1yf1b7.jpg">

## to not, or not to not

Are you the sort of person for whom "expect this block of code _to not_ raise an error" is like nails on chalkboard? If so, relief has arrived. You may now type either of the following, and RSpec will happily service you:

    expect { ... }.to_not raise_error
    expect { ... }.not_to raise_error

## Changelog

### rspec-core-2.5.0

[full changelog](http://github.com/rspec/rspec-core/compare/v2.4.0...v2.5.0)

* Enhancements
  * Autotest::Rspec2 parses command line args passed to autotest after '--'
  * --skip-bundler option for autotest command
  * Autotest regexp fixes (Jon Rowe)
  * Add filters to html and textmate formatters (Daniel Quimper)
  * Explicit passing of block (need for JRuby 1.6) (John Firebaugh)

* Bug fixes
  * fix dom IDs in HTML formatter (Brian Faherty)
  * fix bug with --drb + formatters when not running in drb
  * include --tag options in drb args (monocle)
  * fix regression so now SPEC_OPTS take precedence over CLI options again
    (Roman Chernyatchik)
  * only call its(:attribute) once (failing example from Brian Dunn)
  * fix bizarre bug where rspec would hang after `String.alias :to_int :to_i`
    (Damian Nurzynski)

* Deprecations
  * implicit inclusion of 'bundle exec' when Gemfile present (use autotest's
    bundler plugin instead)

### rspec-expectations-2.5.0

[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.4.0...v2.5.0)

* Enhancements
  * `should exist` works with `exist?` or `exists?` (Myron Marston)
  * `expect { ... }.not_to do_something` (in addition to `to_not`)

* Documentation
  * improved docs for `raise_error` matcher (James Almond)

### rspec-mocks-2.5.0

[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.4.0...v2.5.0)

* Bug fixes
  * message expectation counts now work in combination with a stub (Damian
  * fix failure message when message received with incorrect args (Josep M.

### rspec-rails-2.5.0

[full changelog](http://github.com/rspec/rspec-rails/compare/v2.4.1...v2.5.0)

* Enhancements
  * use `index_helper` instead of `table_name` when generating specs (Reza
* Bug fixes
  * fixed bug in which `render_views` in a nested group set the value in its
    parent group.
  * only include MailerExampleGroup when it is defiend (Steve Sloan)
  * `mock_model.as_null_object.attribute.blank?` returns `false` (Randy Schmidt)
  * fix typo in request specs (Paco Guzman)

More information about the rspec-users mailing list