Yesterday i realesed my first Test Driven Developed jQuery plugin!
For development i used newjs (which has some problems with IE6 atm, but they are sorted out), it comes with a simple unittesting framework and all the assertions and help one can want.
1. Its hard to test, because JS is not designed for test
- No way to handle alerts/confirms or most of the other user interaction.
2. Development takes longer but is rewarded
- Figuring out ways to test your code and ensuring everything gets resetted takes time and effort
- Testing against multiple Browsers is where you get your time back! When hacking things to work in IE6 i fell in love with my testsuite 🙂
- Running tests in multiple browsers is automated by newjs (‘rake test’ will start 6 different browsers and run them over your unit tests)
- You can keep changing the code without any thought about what this will do to this or that browser.
3. Build a prototype and see it work in every browser
- Ensure that your approach works with all browsers you want to support
- Look for workarounds early, so that you can build the right thing, the first time
anything missing ? -> drop a comment 😉