Eine Testumgebung für ein anderes JavaScript als einen Browser? [geschlossen]

12

Wenn ich etwas in JavaScript testen möchte, öffne ich ein neues Browserfenster (hauptsächlich Firefox) und beginne, Code in der bereitgestellten Konsole (hauptsächlich Firebug) zu schreiben.

Dies ist jedoch in der Regel sehr mühsam und langsam. Gibt es eine Umgebung, wie zum Beispiel eine IDE mit Selbstausführungsfunktion, in der wir JavaScript testen können?

Anleitung: Ich suche so etwas wie jsfiddle, aber nicht im Browser und nicht online. Ich hätte gerne eine Ausführungsumgebung, die sowohl offline als auch kein Browser ist.

Ich bitte Sie lediglich darum, so etwas wie die Firebug-Konsole als separate Anwendung (vorzugsweise Windows-Anwendung) zu haben, die durch Doppelklicken geöffnet werden kann und in der Sie JavaScript-Code schreiben und auf Ausführen klicken können. Das ist alles.

Einfacher ausgedrückt, alles, was ich möchte, ist die Konsole von Firebug ohne Firefox. Haben wir so etwas auf dem Markt?

Saeed Neamati
quelle
Ich habe diese Seite gefunden . Es gibt viele dieser eigenständigen Shells für JavaScript.
Saeed Neamati

Antworten:

10

node.js ist eine beliebte serverseitige Javascript-Plattform.

Es hat eine REPL, mit der Sie Schnipsel schnell testen können. Es gibt auch andere Tools, die dies tun können, wie die Chrom-Konsole (ich benutze sie persönlich, reaktionsschnell und schnell) oder das Firefox6-Notizblock.

In Kombination mit Zombies oder Phantoms , bei denen es sich um kopflose Browser handelt, wird das Testen zum Reinfall. Sie können ganz einfach eine Reihe von Komponententests schreiben, die mit Ihrer Website interagieren.

Raynos
quelle
3

Schauen Sie sich JS-Test-Driver von Misko Hevery an http://code.google.com/p/js-test-driver/wiki/GettingStarted

Javascript ist eine Sprache, die in Browsern implementiert ist. Um sie außerhalb zu testen, müssten Sie sie vollständig implementieren.

JS-Test-Driver "erfasst" jedoch den Browser, wodurch der gesamte Vorgang ein bisschen einfacher und automatischer wird.

Yam Marcovic
quelle
1

Wenn Sie nur die JavaScript- Sprache verwenden möchten , können Rhino oder V8 als Befehlszeilenumgebungen mit einer REPL verwendet werden. Mit den meisten Entwicklereditoren können Sie den Textinhalt an einen Befehlszeilenprozess senden.

Wenn Sie dagegen eine browserähnliche Umgebung mit einem DOM-Baum testen möchten, können Sie die Datei env.js verwenden , die ursprünglich von John Resig (ja, dem jQuery-Typ) stammt.

Javier
quelle
Ich würde sagen, Bibliotheken wie jsdom sind bessere Alternativen zu env.js.
Raynos
1

Wie bereits erwähnt, eignet sich node.js hervorragend zum Testen von Javascript. Ich möchte nur hinzufügen, dass das Testen in Firebug zu unerwarteten Ergebnissen führen kann. Tatsächlich ist die Firebug-Eingabe evalnicht identisch mit der eigentlichen Ausführung des Codes. Beispielsweise werden alle Variablen ohne das [[DontDelete]]Flag erstellt. In diesem Beitrag wird die Angelegenheit ausführlicher erläutert.

Andrea
quelle
1

Wenn es um Core-Javascript-Tests geht, können Sie Rhino , ein Mozilla-Projekt, in Betracht ziehen . Es ist viel leichter als nodejs, da Rhino nur eine Implementierung der Kernsprache ist. Als Firebug wird Rhino für HTML-Manipulationen jedoch nicht geeignet sein.

Sransara
quelle