On May 15, 2009, at 10:16 AM, aslak hellesoy wrote:
Can you show me the code you would want to put in AfterStep that would
detect a 500 error?
I've written a simple piece of rack middleware (included below) that
will create a file in the event a 500 is raised. I would clear the
file before each scenario and check for it's existence in the
AfterStep. For example:
Before do
File.delete('/tmp/rails.error') if File.exist?('/tmp/rails.error')
end
AfterStep do |scenario|
if File.exist?('/tmp/rails.error')
scenario.fail("Failed because app raised a 50x error.")
end
end
Here's the rack piece, for the curious:
class RackErrorTouch
def initialize(app, options = {})
@app = app
@path = options[:path]
end
def call(env)
rack_response = @app.call(env)
if rack_response.first >= 500
`touch #...@path}`
end
rack_response
end
end
--
Luke Melia
[email protected]
http://www.lukemelia.com/
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users