Joaquin Rivera Padron wrote:
those who knows more say the idea is to keep in the example only what
is important for the example (but they surely say it even better than
me) which is what you are doing +1,
greetings,
joaquin
2010/2/18 Matt Wynne <[email protected] <mailto:[email protected]>>
On 18 Feb 2010, at 16:25, [email protected]
<mailto:[email protected]> wrote:
I know we are suppose to keep specs obvious and readable, but
is it normal (or there any opposition) to stubbing every
method call that you needed in a before block and simply
over-riding the same method with a should_receive in the
actual tested it()?
Example
describe "#create" do
it "should find a user"
@user = mock_model(User)
User.should_receive(:find).and_return @user
@posts = []
@post = mock_model(Post)
@posts.stub(:build).and_return @post
post "create"
end
it "should build a post from that user" do
@user = mock_model(User)
User.stub(:find).and_return @user
@posts = []
@post = mock_model(Post)
@posts.should_receive(:build).and_return @post
post "create"
end
end
... would become ..
describe "#create" do
before do
@user = mock_model(User)
User.stub(:find).and_return @user
@posts = []
@post = mock_model(Post)
@posts.stub(:build).and_return @post
end
it "should find a user"
User.should_receive(:find).and_return @user
post "create"
end
it "should build a post from that user" do
@posts.should_receive(:build).and_return @post
post "create"
end
end
I often have a before :each that initializes objects to some default
state and then change whatever is necessary in the individual examples.
+1 here as well.
Peace,
Phillip
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users