Brian H. discussed BDD  in a recent post, which piqued my
interest enough to check out RSpec. I used his idea and went through
the first chapter of Refactoring to learn the rspec ropes.
The most interesting stuff is the specs for Customer, but they’re kind
of long, so I’m going to show a less interesting spec.
context “A new rental” do
@movie = Movie.new(“New Movie”, Movie::REGULAR)
@rental = Rental.new(@movie, 3)
specify “should have a movie and rental length” do
I’m wondering if I should be using a mock instead of creating a new
Movie object in setup. This is a trivial example and perhaps it would
be unnecessary, but I want to know if I “get it.” I’m testing a
Rental’s behavior, so I really don’t care about how a Movie behaves.
As long as my Rental gets an object that behaves the same way a movie
does, it should be happy. In this case, I don’t care about a Movie’s
title or code, so I could pass in a nil object if I wanted to. Would
I want to mock the @movie then? Doesn’t matter much in this
particular case, but assume that one of my Rental methods relied on a
method or two of Movie.
Thanks for any input.