Running code on error

describe “Test” do
after(:each) do
if ERRORS #execute custom code here
end

it “should explode” do
#Test.explode --> “fizzle”
Test.explode.should == “KABOOM”
end
end

Let’s say I have the above test and the validation fails and I want
some sort of custom action to take place. Is there a way to do that?
This is a very simplified example but I am just curious if it is
possible.

Could you share a bit more about what you are actually trying to
achieve?

Well, I am using SauceOnDemand with rspec. So when a test fails I want
to download the video that corresponds to the failing test. I figured
I could do a:

it “should download video” do
begin
#some failing test here
rescue Exception => e
#download video
raise e
end
end

But this would get very repetitive for every rspec test.

Ryan S wrote:

end
end

But this would get very repetitive for every rspec test.

Have you investigated creating a custom formatter? I think that
approach might be better suited for what you are doing. It has been a
while since I’ve dug into that code but I imagine that the exception
will be passed to you for inspection.

If that doesn’t suit your needs you will have to decorate ‘it’ on
ExampleGroup.

-Ben