Appendix B. Testing JavaScript with QUnit
Throughout this book we've written a lot of JavaScript code, and we've seen the many ways in which jQuery helps us write this code with relative ease. Yet whenever we've added a new feature, we've had to take the extra step of manually checking our web page to ensure that everything is working as expected. While this process may work for simple tasks, as projects grow in size and complexity, manual testing can become quite onerous. New requirements can introduce "regression bugs" that break parts of the script that previously worked well. It's far too easy to miss these bugs that don't specifically relate to the latest code changes because we naturally only test for what we've just done.
What we need instead is an automated system that runs our tests for us. The QUnit testing framework is just such a system. While there are many other testing frameworks, and they all have their own benefits, we recommend QUnit for most jQuery projects because it is written and maintained by the jQuery project. In fact, jQuery itself uses QUnit (running over 6,500 tests!). In this appendix, we will cover:
How to set up the QUnit testing framework within a project
Unit test organization to aid in code coverage and maintenance
The various types of tests available with QUnit
Common practices for ensuring that tests are reliable indicators of successful code
Suggestions for other types of testing beyond what QUnit offers