Unittesting javascript-heavy web applications

Zemanta Zemanta's code base has grown quite big over the four and the half years of Zemanta's existence. Supporting existing code has becoming one of the obstacles for us moving faster. Thus, we have set ourselves some time ago to improve our coding and development practices. One of the things we put much more stress now is extensive unittesting of our applications. Writing unittests reduces number of bugs while initially implementing some functionality, but even more importantly, it gives a programmer first approaching a new code base more confidence at refactoring existing functionality.

While we were quite successful at implementing automatic tests for our backend applications, we still haven't found a good way how to automatically test our widget. And this definitely wasn't due to ignorance, since we have top notch javascript developers who spend quite some time following latest technology developments. Unittesting javascript-heavy web applications is one of the great unresolved challenges in software development at the moment.

What is your experience with testing of javascript-heavy web applications? Please, share your thoughts in the comments.