Für Javascript existieren einige Test-Frameworks wie JSUnit oder js-test-driver. Sie sind in Ordnung, aber sie führen die Tests in einem Browser aus. Das ist in Ordnung, vor allem um zu überprüfen, ob Ihre Webanwendung in verschiedenen Browsern läuft. Aber auf dem Continuous-Integration-Server ist kein Window-System (und kein Browser) installiert. Gibt es eine Möglichkeit, die Tests ohne die Verwendung eines Browsers auszuführen? Am besten wäre es, eines der vorhandenen Frameworks zu verwenden, so dass Entwickler die Tests lokal in ihren Browsern ausführen können und das Continuous-Integration-System diese browserlos ausführt.
Sie könnten an HtmlUnit interessiert sein, das von verschiedenen UI-Test-Frameworks wie Webtreiber
jsTest kann als Befehlszeile oder als Eclipse-Plugin ausgeführt werden.
Achten Sie jedoch darauf, dass Sie mit einem solchen Tool keine 100% ige Codeabdeckung erhalten, wenn Sie mehrere Browser unterstützen müssen. Jeder Browser implementiert JavaScript anders (z. B. IE). Daher besteht die einzige Möglichkeit, JavaScript vollständig zu testen, darin, die Tests in allen von Ihnen unterstützten Browsern auszuführen.
Jspec kann ohne Browser ausgeführt werden (mit Rhino). Aber es unterstützt auch die Ausführung in Browsern.
Es bietet auch eine nette Spezifikationsstylesyntax:
%Vor%Indem Sie alle Ihre Komponententests außerhalb eines Browsers ausführen, erhalten Sie auch die Vorteile einer Trennung Ihrer Logik von der HTML- / Präsentationsschicht (nützlich für Web-Apps, möglicherweise übertrieben für kleine Skripte).
Tags und Links javascript unit-testing testing continuous-integration