2012-02-24 13 views
7

Ho appena scaricato mocha.js e ho eseguito alcuni test di base con expect.js per assicurarsi che funzioni correttamente.Test delle risposte in node.js?

Ma per quanto riguarda testare le risposte nella mia applicazione node in un URL specifico? Per esempio, come posso verificare quale risposta ottengo dalla navigazione su /users?

Utilizzando Expresso, il predecessore di mocha.js, potrei fare assert.response(server, req, res|fn[, msg|fn]) e testare la risposta.

risposta

6

Questa è una cosa che amo di Node.js/Javascript, fare questo genere di cose è semplice una volta capito.

In breve, si esegue il codice server e quindi si utilizza effettivamente lo Request o Superagent per effettuare queste richieste HTTP. Personalmente preferisco lo Superagent a causa della sua codifica JSON automatica, ma attenzione, i documenti non sono aggiornati e non sono corretti, YMMV. La maggior parte delle persone sceglie Richiesta.

semplice Mocha Esempio con Richiesta:

describe('My Server', function(){ 
    describe('GET /users', function(){ 
     it("should respond with a list of users", function(done){ 
      request('http://mytesturl.com/users', function(err,resp,body){ 
       assert(!err); 
       myuserlist = JSON.parse(body); 
       assert(myuserlist.length, 12); 
       done(); 
      }); 
     }); 
    }); 
}); 

Speriamo che aiuta. Ecco un esempio del mio test Mocha (CoffeeScript) utilizzando questo stile con esempi dettagliati completi: https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee Oh ya, utilizza anche Superagent.

Problemi correlati