[rspec-devel] additions to rspec_on_rails

David Chelimsky dchelimsky at gmail.com
Mon Jan 7 03:25:43 EST 2008


On Jan 6, 2008 6:13 PM, Rick Olson <technoweenie at gmail.com> wrote:
> Yehuda Katz and I were brainstorming on a better way to quickly spec
> rails/merb controllers with rspec and came up with:
> http://weblog.techno-weenie.net/2007/12/26/controller-specs-are-a-drag.
>  Basically, we're calling methods off the Example object returned by
> #it to define common examples.  However, a recent change in rspec
> (specifically, the combining of Spec::Example and Spec::ExampleGroup
> objects?) breaks our monkey patches:
>
> http://rafb.net/p/AuR1yL64.html
>
> Is this something we can get in rspec so that I don't have to mess
> with a custom subclass?  Subclassing Spec::ExampleGroup wasn't a
> problem before.  But subclassing Spec::Example is an issue because
> then I'm not using the subclasses that rspec_on_rails provides.  The
> change lets an example add a peer example to the current example
> group.  Just let me know what you want me to do, and I'll work up a
> patch for the tracker.

I love the idea. If we make it part of rspec it's gotta use 'should'
instead of active voice:

  it.should_assign ....

Either way, I think this should be managed through a module that RSpec
exposes as a hook for this sort of thing:

module Spec::ExampleShortcuts
  def should_assign ... end
end

That would make it easier for anyone to extend examples in the way
that you are doing here with reduced risk. WDYT?


More information about the rspec-devel mailing list