On 2008-11-18, at 01:53, Mano ah wrote:
Nick Hoffman wrote:
On 2008-11-14, at 06:29, Mano ah wrote:
image = Image.new
image.blob= params[:image][:blob]
image.save_picture
end
--
Hi Mano. It doesn't really matter whether or not your "picture" model
interacts with a database. Simply use mocks and stubs when speccing
#scan , and you'll be good. For example:
describe '#scan' do
describe 'receives a POST request' do
before :each do
# mock an Image instance
# stub Image#new
end
it 'should create a new Image'
it "should set the new image's 'blob' attribute"
it 'should save the new image'
end
describe 'receives a non-POST request' do
# stuff here
end
end
Obviously you have to fill in the contents of those #it blocks, but
that's really all you need.
-Nick
Hi Mano.
All the above specification passed.
Um, that's because those calls to #it were meant as a guide for you,
and don't actually contain any real tests. You need to write those
yourself.
Now I want to test the return value. I mean
def scan
#-------
if request.post?
image = Image.new
image.blob= params[:image][:blob]
if image.save_picture
@code = returns a blog image value
end
end
What is the rspec code to test the return value and make it pass
The code above is trivial to spec if you understand RSpec. It sounds
like you need to learn more about RSpec and behaviour-driven
development. I recommend searching Google for a couple of articles/
guides, as well as reading what David Chelimsky, Dan North, and other
experts have written on their blogs/sites.
Cheers,
Nick
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users