This thread may help give you some insight...

http://www.mail-archive.com/rspec-users@rubyforge.org/msg05382.html

Zach

On Sun, Sep 7, 2008 at 7:58 PM, Sam Stokes <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I'm just getting into RSpec stories and liking them (especially with
> webrat), but I'm finding it tricky to write steps that are
> self-contained and reusable, particularly where features intersect.
> What approaches do people use to achieve this?
>
> (Maybe a better question is, do people bother?  One of the things I like
> about story-runner is the way I'm building a DSL for integration testing
> my application, but should I just write the scenario I need, write the
> steps to make it run and forget about reusing steps?)
>
> As an example of where I'm having trouble, say I'm writing a blog (since
> it's the Web 2.0 version of Hello World), so I have posts and comments.
> I want to write a scenario something like
>
> ----
> Given a post
> And some comments for the post
> When I view the post
> Then I should see the comments
> ----
>
> How do I tell the "Given some comments" step which post to attach the
> comments to?
>
> I can do it by having "Given a post" set a @post instance variable and
> having "Given some comments" use that, but it feels like global
> variables all over again.  My steps (probably in different files) are
> coupled via the @post instance variable, and other steps can clobber it,
> and if I forget to clear it I might pollute later steps, and if I want
> to refer to more than one post (@post1, @post2) I have to rewrite all my
> steps...
>
> I noticed a little note on the Cucumber wiki
> (http://github.com/aslakhellesoy/cucumber/wikis/home) explicitly
> advising against using @variables for this, I'm guessing for these
> reasons.
>
> I could avoid the first issue by combining the top two steps into "Given
> a post with some comments" but then I still have the problem of which
> post "When I view the post" should GET.  Maybe "When I view a post with
> comments"...?
>
> Any advice, criticism or sympathy appreciated :)
> --
> Sam
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>



-- 
Zach Dennis
http://www.continuousthinking.com
http://www.mutuallyhuman.com
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to