This post is merely some early thoughts on my initial research into client-side testing. Client-side testing is simply a term for automatically testing code within a web-browser.
For my master thesis I’ve been working on a node.js project, more specifically a project that blends express.js as a mature framework, twitter bootstrap for styling and grunt.js for automatic building, reloading and testing of the project. And by testing it’s been solely backend testing using mocha.
I tried doing client-side testing using jasmine-jquery, which is an extension of the Jasmine test framework that includes functionality for dynamically loading html, manipulating them using jquery and checking for results using jquery. After a week of trial and error I was no wiser. So, I let it rest and happily continued coding.
Some weeks after, my programming speed slowed down to almost a halt. My plan for today was to implement a minor feature, but I took a painfully long time to do and as it stands now my code feels more like a deck of cards that I’m now hesitant to touch.
Perhaps you can relate to this experience: you open up your project with the intent of coding a new feature or fixing a bug, and you wonder, “Could the changes I’m about to make have unintended side effects? Will I break my code?”
Oh, yes I can relate to this quote! The quote comes from this article which provides sound arguments for giving client-side testing a second try. So, I’ll give it a second try and I’ll even report back with updates. :)
Cheers,
Nils

I expect you arrived here because you would like to use Python (