Hi everyone,

We've been struggling for awhile now with jsUnit, a testing framework  
for in-browser JavaScript unit tests. We have hundreds of jsUnit tests  
for all of Fluid's code. It provides a familiar xUnit-style  
environment for writing tests, but it imposed some really frustrating  
restrictions including:

  * Inability to put unit test code into a private namespace
  * The Firebug debugger simply won't work with it

Trying to debug tests without a solid debugger is, as you can imagine,  
slow and frustrating. After fighting with it for too long, I finally  
decided to do some research and get rid of jsUnit altogether.

There are a lot of half-baked JavaScript testing frameworks out there.  
None of them are perfect, but the least broken amongst them seems be-- 
no surprise here--the one written by John Resig for testing jQuery. I  
had a fairly painless time porting my tests to this framework, which  
I've dubbed "jqUnit." In the process, I wrote a number of adaptor  
functions that make it much easier to port over old jsUnit tests:

https://source.fluidproject.org/svn/sandbox/tabindex/trunk/tests/jqUnit/jqUnit.js

In the process, the unit tests for my jQuery keyboard accessibility  
plugin are fully debuggable with Firebug and totally self-contained in  
their own namespace!

https://source.fluidproject.org/svn/sandbox/tabindex/trunk/tests/keyboard-a11y-tests.js
https://source.fluidproject.org/svn/sandbox/tabindex/trunk/tests/keyboard-a11y-tests.html

Given this experience, I hope we'll be porting the Reorderer's large  
suite of unit tests over as soon as we've finished our current round  
of development.

Colin

---
Colin Clark
Technical Lead, Fluid Project
Adaptive Technology Resource Centre, University of Toronto
http://fluidproject.org

_______________________________________________
fluid-work mailing list
[email protected]
http://fluidproject.org/mailman/listinfo/fluid-work

Reply via email to