Testing and test-driven development
The development of a sophisticated frontend application is no different than any other software application. The code is going to be complicated and robust, and there's no reason not to write tests, as well as a practice test-driven development. The availability of testing frameworks and languages for the frontend is just as robust as for any other language. All of the tools and concepts we've used for testing the Node.js code that we've written in this book can be used directly on the frontend as well.
Some other tools to consider for testing your frontend JavaScript are:
- Karma for running tests: http://karma-runner.github.io
- Jasmine for writing tests: http://jasmine.github.io
PhantomJS headless browser
One thing I'd like to point out with testing frontend code is that typically, the test runners want to run in a browser window. This is great and makes perfect sense, but in the real world, automating your tests or quickly executing them with TDD can be a bit...