On Oct 21, 2008, at 7:24 am, Jarkko Laine wrote:
Yeah, I was using that API to a great extent with a recent project
and was pretty successful at doing outside-in development with rspec
and merb. The syntax used in merb controller specs is a bit
different from what Rails uses, but once you got around it, it was
actually pretty cool and flexible. Here's a snippet from a
controller spec in the project:
http://pastie.org/private/6uijgfwwzjngvhbkgxwqq
Note that I generally stub both render and display for the
controller to make the tests run faster.
There's probably a lot of optimization left to do with the specs but
I find the dispatch helpers pretty cool for building more
specialized methods such as do_post.
Hi Jarkko
Thanks a lot for that. I've just got my first controller spec
working, that's a big win!
How do you handle #only_provides ? The merb format handler is way
slicker than respond_to, but I can't get a handle on how to spec its
behaviour. (Should you fake an XML request for controllers with
"only_provides :html", or is
controller.should_receive(:only_provides).with(:html) more appropriate?)
And actually:
it "should display a new Item" do
do_get do |controller|
controller.should_receive(:display).with(@item)
end
end
is really nice syntax. Just need to work on factoring out the helper:
def do_get(&blk)
dispatch_to(Items, :new) do |controller|
controller.stub!(:render)
controller.stub!(:display)
yield controller if block_given?
end
end
from specs, but you can't abstract one file!
In this case, RSpec mocks are simpler than not_a_mock. (More reason
to be able to switch framework at runtime?)
I hope the merb folks will keep us outside-(s)inners in mind and not
scrap the API.
I notice you're on both list so hopefully you can give me nudges in
the right Merb direction and Merb nudges in the right BDD direction :)
But I also hope they will make concessions to isolated controller
fans. All the more reason for me to write up what I find, I guess.
Cheers
Ashley
--
http://www.patchspace.co.uk/
http://aviewfromafar.net/
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users