I created a gem a few weeks ago that I think the RSpec community might be
interested in: https://github.com/tysontate/scenario (and that I'd love to
get feedback on). It supports RSpec 1 and 2.

It aims to solve a few of the problems we've had with a large spec suite
that's been built over several years:

   - A veritable forest of global helper methods that often overlap in
   scope. Some of the method signatures on these methods are horrendous because
   people have tried to adapt, for example, a single "create_user" method to
   support too many different scenarios* — non-approved user, regular user,
   admin user, and so on.
   - Expensive setup that doesn't allow granular control over what, exactly,
   gets set up without adding more options to the helper method or creating
   another redundant setup method.
   - (This is the most important one.) Tons of redundant setup code.
   Throughout many large spec suites, you'll notice a lot of redundant setup
   code. This redundant code can easily be grouped into a scenario that can
   more easily be reused throughout your specs.

I'd love to hear any feedback you guys might have. The readme should cover
most of the bases, but please let me know if you have any questions. The
current examples in the readme are a bit trivial and don't really make a
strong case for the use of scenarios over mixins, but I'll try to come up
with better examples soon.

-Tyson

* See what I did there? :)

-- 
*CrowdFlower <http://crowdflower.com/> @ *2111 Mission St, Suite 302, San
Francisco, CA 94110
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to