Have been working on getting Continuous Integration working on the openwebapps project recently, and thought I could blog about some of the cool stuff we are doing with javascript testing, and why jstestnet worked for me.
#1) Javascript in CI, inside a browser is not a slam dunk as of yet. There are plenty of things to worry about so you want to be flexible in your solution.
We had initially taken a look at jstestdriver, but some things were not as great as we would have liked. It is more suited for unit tests.
The concept is that the browser lives on the same machine, generally we want to have a broad array off browsers and the developer may not want to install all of that on their laptop.
#2) Technologies
We have tests written in doctestjs, a javascript test framework that was written by Ian Bicking, as well as some test cases written in Qunit. At that time there wasn’t a test framework that could handle multiple formats, and report up the results.
This is what we have done in essence is to add the functionality to jstestnet / doctestjs to be able to collect reports from multiple test runners. Currently qunit / doctestjs and report up the results. There is an abstraction between the test runner, and the test reporter which allows us to create this environment. Exciting Stuff.
Below is a link to my vimeo screen cast of the end to end jenkins integration. Please stay tuned as I will be shortly blog posting on how to add tests to the integration run. This will be more focused towards developers.
Let me know if you need more detail from the QA side, or if you are interested in writing unit tests!!