Come test post le richieste con NodeUnit e Express?
Domanda
Sto scrivendo un semplice servizio REST in Node.js (solo sperimentando), cercando di capire se il nodo è maturato ancora abbastanza. Sto utilizzando anche NodeUnit per il mio test di unità.
Ora, NodeUnit funziona bene come un ambiente di test per testare Get-richieste, utilizzando il HttpUtils, però, test post-richieste non sembra essere evidente.
Test sguardi GET come questo:
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();
});
});
}
Ma come faccio a test post richieste? Posso cambiare 'GET' a 'post' e provare a scrivere qualcosa per 'cliente', tuttavia questo non lavoro prima .fetch si chiama perché non c'è ancora alcuna connessione. E non funziona nella funzione di callback .fetch sia, perché in quel momento è già stata eseguita la richiesta.
Ho guardato nel codice nodeunit, e non sembra essere il supporto per i dati di Scrittura al momento. Quindi, ecco le mie domande:
- Che cosa ci vuole per testare POST-richieste?
- Dovrei anche test post le richieste in un test di unità, o fa che rientrano in un test di integrazione e devo utilizzare un altro approccio?
Soluzione
Si potrebbe provare questa libreria invece di nodeunit: https://github.com/masylum/testosterone
E 'costruito appositamente per testare le applicazioni web su HTTP.
Altri suggerimenti
Ho appena scritto questa libreria per testare i server HTTP con nodeunit: