2014-05-12 2 views
8

Gibt es eine Version von Quickcheck, die für Javascript funktioniert und das ist gut gepflegt? Ich habe mehrere wie check.js und claire gefunden, aber keine von ihnen scheint das Schrumpfen von fehlerhaften Testfällen zu unterstützen, was mir immer als den nützlichsten Teil des gesamten Problems erschien.QuickCheck für Javascript

Antwort

8

Ich bin der Schöpfer von jsverify. Ich werde versuchen, es immer besser zu machen, Fehlerberichte und Feature-Anfragen sind willkommen.

In einer Readme-Datei gibt es auch eine Liste anderer javascriptgenerativer Testbibliotheken. Bisher habe ich keine andere gute Alternative zur jsverify gefunden.

+0

Hey, in jsverify heißt es "Schreibe Eigenschaften über deine Funktion, die für alle Eingaben gelten sollte". Wie testen Sie dann Funktionen mit if/else-Entscheidungen? Was, wenn ich zum Beispiel testen möchte, dass wenn eine Zeichenfolge "foo" enthält, dass die Funktion etwas tut? –

3

Ich schrieb quick_check.js, die eine schöne Bibliothek von Generatoren hat. Schrumpfen ist noch nicht da, ist aber geplant.

0

Es scheint einen Mangel an guten quickcheck-ähnlichen Test-Tools in Javascript zu geben. Sie sollten jedoch in typisierten Sprachen besser unterstützt werden, und tatsächlich können Sie Ihre Tests in einer dieser Sprachen schreiben, wenn Sie möchten.

Um den Umgang mit Laufzeit-Interop zu vermeiden, würde ich eine Sprache empfehlen, die nach JS kompiliert und auf node.js läuft (zB: Purescript with purescript-quickcheck), oder eine Java-basierte Sprache unter Verwendung der in Java 8 bereitgestellten Nashorn-Engine. zum Beispiel ScalaCheck. Sie könnten sogar ghcjs und den ursprünglichen Geschmack der Quickcheck-Bibliothek verwenden!

+0

In diesen Tagen benutze ich Ulme, da mein Interesse an JavaScript zu 100% im Browserbetrieb liegt. Für Backend-Code benutze ich Erlang –

+0

Ich würde Elm und https://github.com/TheSeamau5/QuickCheck in meine Antwort aufnehmen, aber PureScript integriert besser mit Javascript (zumindest bis Elm 0.16 ..) – jazmit