On Wed, Jun 30, 2010 at 11:12 AM, David Chelimsky <dchelim...@gmail.com>wrote:
> On Jun 30, 2010, at 9:05 AM, Marcos Chicote <totochic...@gmail.com> wrote: > > I don't think so, but I don't really know how to check it programatically. > I don't mean exceptions in *before/after *methos, but inside *it()* method > > I would like to write something like this: > after(:each) do > if exception_occured_on_it_method? > do_something > end > end > > Is that possible? > > > What problem are you trying to solve? > I'm using rspec to build tests using Watir. On *before(:each)*, I create the browser instance and login lazily to a web page (if the browser exists, I use that instance, if it does not, I create a new one). I'm using this lazy approach in order to save the time of openning a new browser and login for each test (I could close the browser on * after(:each)* but this is faster). I most cases (when test are passed), everything works great. The problem is that sometimes the page I'm trying to access doesn't load (or there is some other non functional problem), the browser keeps wating and an timer that I implemented timesout.This timeout raises an exception that makes the test fail, but does not close the browsers windows (that keeps wating for the response), making following tests to fail. If I could handle timeout exception in the way I posted before, I could close the browser and the next test will open a fresh one. (Note: this is only and example, there are some other exceptions thay might occur, html element missing for example, that I want to handle the same way and that's why I need a unified mechanism) Thanks!
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users