Javascript Unit-Tests für Rails 3.1 und Asset-Pipeline

8

Ich suche nach dem einfachsten Javascript Unit-Testsystem für Rails 3.1, das speziell in der Lage ist, mit der Asset-Pipeline zu arbeiten.

Ich habe verschiedene Inkarnationen des Jasmin-Edelsteins ausprobiert, einschließlich Jasmin-Reis, Headless-Jasmine-Webkit. Jasmine gem scheint nicht mit Rails 3.1 zu funktionieren, da sie verschiedene Konfigurationsdateien optimieren muss. Jasmine-rice und headless-jasmine-webkit haben beide komplizierte Abhängigkeiten und erfordern mehr Anpassungen der Konfigurationsdatei.

Irgendwelche Vorschläge? Idealerweise müsste ich HTML / HAML-Fixtures einfügen und kopflos sein, aber zu diesem Zeitpunkt wäre ich mit allem zufrieden, was mir erlaubt, mein Javascript mit minimaler Konfiguration zu testen.

    
Allyl Isocyanate 24.01.2012, 17:27
quelle

4 Antworten

1

Jasmine ist die beste Lösung. Wir verwenden dies, um unseren gesamten JS-Code zu testen. Es funktioniert auch wunderbar mit CoffeeScript.

Aber installieren Sie nicht die Version von RubyGems.org (es wurde seit einiger Zeit nicht mehr aktualisiert), holen Sie sich nur die neueste Version von github, z. füge zu deinem Gemfile hinzu:

%Vor%

Dann können Sie rake jasmine ausführen und zu http://localhost:8888 gehen, um Ihre Tests auszuführen. Headless Webkit funktioniert auch.

    
Wolfram Arnold 11.03.2012 05:19
quelle
0

Ich war auf der Suche nach etwas, das es mir erlauben würde, mein Javascript innerhalb von MS Test im Visual Studio zu testen. Nahm mich für immer, aber ich fand WatiN . Was WatiN tun wird, ist Internet Explorer zu öffnen und eine Webseite zu betreiben. Wenn Sie Ihre IDE als Administrator ausführen, können Sie sogar lokale HTML-Dateien öffnen.

Ich verwende es derzeit mit Visual Studio, um Funktions- und Komponententests für alle meine Javascript-Funktionen auszuführen. Ich denke, dass dies bisher die beste Lösung ist, um JavaScript-Funktionstests von Ihrer IDE aus auszuführen. Für meine Komponententests habe ich den YUI-Test verwendet, aber da Sie einen Browser öffnen und JavaScript im Browser ausführen, können Sie jedes Javascript-Testframework verwenden (wie qUnit).

    
Zoidberg 02.03.2012 12:53
quelle
0

Ich habe QUnit benutzt, eine einfache aber effektive Unit Testing-Bibliothek, die auf jQuery aufbaut:

Ссылка

    
mynameistechno 07.03.2012 00:53
quelle
0

Ich hoffe, spät ist besser als nie ... Ich habe gerade eine kleine Bibliothek geschrieben, die dein Problem lösen sollte: Ссылка

Es injiziert schnell und Ihre Qunit-Tests in Live-Server-Antworten. Außerdem können Sie vor den Tests die Statusserverseite festlegen (z. B. das Anmelden eines Benutzers und das Festlegen des Inhalts für die Seite), um das clientseitige Mocking zu reduzieren.

Wenn Sie rspec verwenden, gibt es auch ein Add-on, das die qunit-Tests kopflos zusammen mit Ihren anderen rspec-Beispielen ausführt.

    
ferbs 31.07.2012 01:49
quelle