On 5 Mar 2009, at 15:24, Ben Mabey wrote:
David Chelimsky wrote:
On Thu, Mar 5, 2009 at 3:31 AM, Matt Wynne <m...@mattwynne.net>
wrote:
Maybe we should make this easier by providing some facility in the
mock framework to express the following in one statement:
@authenticator = stub('authenticator')
Authenticator.stub!(:new).and_return(@authenticator)
Sure, you could make that a one liner:
Authenticator.stub!(:new).and_return(@authenticator =
stub('authenticator')
But I mean something like:
@authenticator = Authenticator.stub!
I don't think *that* is the answer - but something that concise
would be nice.
Thoughts?
David
I like the conciseness, but it isn't very clear what it is doing
IMO. Perhaps something a little more intention-revealing like:
@authenticator = Authenticator.stub_new!
I think I must mostly use constructor injection, as I don't really
seem to have a pattern for this, but if I did I guess it would be
something like this:
extend StubbingHelpers
describe "blah"
before(:each) do
@authenticator = mock_new_authenticator( :foo => bar )
which is implemented like
def stub_new_authenticator( *args )
result = mock(Authenticator, *args)
Authenticator.stub!(:new).and_return(result)
result
end
I guess having something like that would be nice.
Matt Wynne
http://blog.mattwynne.net
http://www.songkick.com
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users