Frage

Ich schreibe einen einfachen REST -Service in node.js (nur experimentiere) und versuche herauszufinden, ob der Knoten noch genug gereift ist. Ich verwende auch NodeUnit für meine Einheitstests.

Jetzt funktioniert NodeUnit einwandfrei als Testframework zum Testen von Get-Requests unter Verwendung der Httputils. Das Testen von Post-Requests scheint jedoch nicht offensichtlich zu sein.

Tests werden so aussieht:

exports.testHelloWorld = function(test) {
    test.expect(1);
    httputil(app.cgi(), function(server, client) {
        client.fetch('GET', '/', {}, function (resp) {
            test.equals('hello world'), resp.body);
            test.done();
        });
    });
}

Aber wie teste ich Post-Requests? Ich kann "bekommen" zu "posten" und versuchen, etwas an "Client" zu schreiben. Dies funktioniert jedoch nicht, bevor. Und es funktioniert auch nicht in der .fetch -Rückruffunktion, da die Anfrage zu diesem Zeitpunkt bereits ausgeführt wurde.

Ich habe mich mit dem NodeUnit -Code befasst, und es scheint derzeit keine Unterstützung für die Veröffentlichung von Daten zu geben. Also hier sind meine Fragen:

  • Was braucht es, um Post-Requests zu testen?
  • Sollte ich sogar Post-Requests in einem Unit-Test testen, oder fällt das unter einen Integrationstest und ich sollte einen anderen Ansatz verwenden?
War es hilfreich?

Lösung

Sie können diese Bibliothek anstelle von NodeUnit ausprobieren: https://github.com/masylum/Testosteron

Es wurde speziell für das Testen von Web -Apps über HTTP erstellt.

Andere Tipps

Ich habe gerade diese Bibliothek zum Testen von HTTP -Servern mit NodeUnit geschrieben:

https://github.com/powmedia/nodeunit-httpclient

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top