"Zombie.js is a lightweight framework for testing client-side JavaScript code in a simulated environment. No browser required."
This definition is from the Zombie.js documentation at http://zombie.labnotes.org
Automating tests for your web application is crucial to having a quality product, but doing it properly can be a painful experience. That is why most of the time this part of the project never gets implemented. Developers either limit themselves to testing the underlying business logic and control flow in isolation, or, if they really want to test the user interface, must resort to complicated setups where you somehow connect to real browsers and command them using remote scripts.
Zombie.js provides a fast and easy alternative to this scenario, enabling you to easily and quickly create automated tests for your web application just by using JavaScript.
The topics covered in this chapter are:
A brief history of software testing
Understanding the server-side DOM
How Zombie.js works internally
By the end of this chapter, you should understand how Zombie.js works and what types of applications can be tested using it.