Unit testing our exception handling

Anastasia Cheetham a.cheetham at utoronto.ca
Mon Aug 11 16:04:45 UTC 2008

A recent change to the Fluid framework's infrastructure has made it  
difficult to unit test our exception handling.

The unit tests in FluidJSTest.js attempt to confirm that if you try to  
initialize a components with an invalid container element, an  
exception occurs. When you run the unit tests, the exception does,  
indeed occur.

The problem is this: Our fluid.fail() function, which is correctly  
being called, now deliberately causes an error to occur. This is good,  
because otherwise in the real world, there would be no indication that  
anything was wrong. But in the unit tests, this has the effect of  
halting the execution of the script, which means that any further  
tests are skipped altogether - with no indication that they even  
should have been run. If you open the unit test file in the browser,  
you see all green. If you don't look at the status bar along the  
bottom of the window, you wouldn't even know anything was amiss.

I'm not sure what's a good approach to dealing with this issue. Move  
the test for the exception to be the very last test in the script?  
That's a bit brittle...

Any other suggestions?

Anastasia Cheetham                   a.cheetham at utoronto.ca
Software Designer, Fluid Project    http://fluidproject.org
Adaptive Technology Resource Centre / University of Toronto

More information about the fluid-work mailing list