Ich habe für die Prüfung und JSTestDriver Jasmine Rahmen im Einsatz. Ich hatte auch Hudson und TeamCity für CI als Teil der Evaluierung eingerichtet, obwohl sich TeamCity schließlich entschied.
Jasmine ist ein sehr schönes BDD-Framework, das auch Spott- und Stubbing-Funktionen bietet.
Der JSTestDriver-Server ermöglicht es jedem Browser, sich an ihn zu binden, ob lokal oder remote, wie Vojta bereits erwähnt hat. Ich konnte zum Beispiel Browser von Windows- und MAC-Rechnern verbinden, und auch iPhone ... es ist durchaus möglich, andere mobile Browser zu verbinden, wenn Mobile-Development Ihnen gefällt. JSTestDriver erzeugt JUnit XML-Ergebnisdateien, die entweder von Hudson oder TeamCity analysiert und berichtet werden können.
Wie bereits erwähnt, ist für JSTestDriver ein Eclipse-Plugin verfügbar. Ich bin vor kurzem zu WebStorm 1.0 und jetzt 2.0 (IDE von JetBrains) übergegangen, und ein Plugin existiert auch für diese IDE, wenn auch etwas fehlerhaft. WebStorm ist, was die JavaScript-Entwicklung angeht, übrigens exzellent.
Wir schreiben auch serverseitigen JS-Code, und Jasmine hat auch hier gut funktioniert.
Ich habe JsTestDriver/TeamCity in der Amazon-Cloud installiert und konfiguriert und kann beispielsweise Jasmine-Tests kopflos ausführen.
Kurz gesagt, zwischen den drei Lösungen (Jasmin, JSTestDriver und Teamcity), Tonnen von Plugins/Adapter/Rezepte gibt, die eine beliebige Anzahl von Einstellungen oder Konfigurationen ermöglichen. Das soll nicht heißen, dass andere Kombinationen nicht funktionieren ... einfach, für mich hat sich diese Kombination bisher bewährt.
Igor machte einen schönen Screencast über unser CI: JsTD, Jasmin, Jenkins (Hudson), AngularJS ... http://www.youtube.com/watch?v=5GGMa6mmcg0 – Vojta