On May 18, 2009, at 7:51 PM, Gary Lin wrote:
Hi,
I am still new to rspec and I wonder if anyone can give me some
insight about the problem I have encountered. I notice whenever I
use "return" in my test, it will skip all the examples and exit
right out of my test run. Here is a small example that demonstrate
the problem:
describe "This tests uses return in my code" do
it "should print Hello" do
puts "Hello" # skip some test scenario if product is in
demo mode
if @product.demoMode?
return;
else
# rest of the test goes here.
end
end
it "should print hi" do
puts "hi"
end
end
Gary,
It's better to not have an if/else in a test.
Why not try:
describe "This tests uses return in my code" do
context "in demo mode" do
@product.stub!(:demoMode?).and_return(true)
something.should be_true
end
context "not in demo mode" do
@product.stub!(:demoMode?).and_return(false)
something.should_not be_true
end
end
-----
BJ Clark
AboutUs.org
With the above spec, the second "it should print hi" test will never
get executed. I found it would be very useful to use "return" to
skip some of the test code if a particular scenario occurs. So I
wonder if I cannot use "return" to achieve this, is there any way I
can workaround it?
Thanks,
--Gary
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users