For many, the idea of unit testing JavaScript applications seems difficult or unnecessary. Maybe the project does not seem big enough to warrant writing tests. Maybe the complexity of the application seems too difficult to write unit tests for. Problems arise with JavaScript scope, asynchronous XHR requests, DOM manipulation, and all the different browsers and platforms. Sometimes, JavaScript unit