Question

Je vous écris d'un simple service REST dans Node.js (juste) expérimentent, en essayant de comprendre si le nœud a mûri encore assez. J'utilise aussi NodeUnit pour mes tests unitaires.

Maintenant, NodeUnit fonctionne très bien comme cadre d'essais pour tester les requêtes GET, en utilisant la HttpUtils, cependant, des essais effectués après les demandes ne semble pas être évident.

Test GET ressemble à ceci:

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();
        });
    });
}

Mais comment puis-je tester POST-demandes? Je peux changer « GET » à « POST » et essayer d'écrire quelque chose à « client », mais cela ne fonctionne pas avant .fetch est appelé parce qu'il n'y a pas encore de connexion. Et il ne fonctionne pas dans la fonction de rappel .fetch non plus, car à cette époque, la demande a déjà été exécutée.

Je l'ai regardé dans le code nodeunit, et il ne semble pas être un soutien pour les données enregistrées au moment. Alors, voici mes questions:

  • Que faut-il pour tester POST-requests?
  • dois-je tester même POST-requêtes dans un test unitaire, ou qui ne relèvent un test d'intégration et je devrais utiliser une autre approche?
Était-ce utile?

La solution

Vous pouvez essayer cette bibliothèque au lieu de nodeunit: https://github.com/masylum/testosterone

Il est conçu spécifiquement pour les applications Web de test sur http.

Autres conseils

Je viens d'écrire cette bibliothèque pour tester les serveurs HTTP avec nodeunit:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top