Welches Test-Framework für Javascript unterstützt Testing ohne Browser?

8

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.

    
Mnementh 10.07.2009, 12:15
quelle

6 Antworten

1

Sie könnten an HtmlUnit interessiert sein, das von verschiedenen UI-Test-Frameworks wie Webtreiber

    
luc 14.07.2009, 20:41
quelle
1

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.

    
geowa4 10.07.2009 12:23
quelle
1

Sehen Sie sich die folgenden Artikel an:

Zusätzlich haben wir einen jsTestDriver Server, der mit einigen Webbrowsern (als Remote Console Runner) als Ressource für Jenkins läuft, so dass Sie CI mit Testen in Webbrowsern haben können.

    
Ingvald 04.03.2011 13:02
quelle
0

Ich glaube, Canoo WebTest kann ohne Browser ausgeführt werden. Es ist im Grunde ein Frontend-Test-Framework, kann aber auch zum Testen von JavaScript verwendet werden:

Ссылка

    
B.E. 10.07.2009 12:23
quelle
0

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).

    
Karl 25.08.2009 09:57
quelle
0

Jasmine wird ganz glücklich innerhalb von node.js laufen.

    
Pete Hodgson 02.03.2011 23:53
quelle