Sam Stokes wrote:
It seems to me that with
"Given an existing post 'lol internet'" # creates a post with that title
"Then the page should include 'lol internet'" # assumes a post with that
title
the assumptions are in line with what you'd naturally understand from
the English, whereas
"Given an existing post 'lol internet'" # creates and stores in
@the_post
"Then I should see the post title" # verifies @the_post matches what's
in the db
seems to make more assumptions than are obvious from the English.
In fact, couldn't one argue that the second example is redundantly
storing the post in two places (the database and @the_post)? I think
this is what Aslak means by distinguishing "stateful" and "stateless" -
@variables are *extra* state, on top of the application state which must
change either way or you're not testing anything.
Thats true in that case. I also wouldn't do what you show in the second case. If I can get the
result from the API or the database I would.
In my case I store data between states that I can't get anywhere else, or that tells me where to get
the results from.
--
Jim Morris, http://blog.wolfman.com
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users