2016-12-14 3 views
1

Zum ersten Mal mit TDD. Ich benutze das Duo Chai/Moka, nachdem ich einen Artikel online für meine NodeJS API gelesen habe.Chai/Moka -> TypeError: request.get (...). Expect ist keine Funktion

Ich habe schon einige dumme Tests gemacht, um zu lernen, wie man diese benutzt. Jetzt möchte ich meine API testen, damit ich eine Route erstellt:

app.get('/hello', function(req, res) { 
    res.status(200).send('Hello World!') 
}) 

Ich versuche, einen Test wie folgt aus:

var request = require('superagent') 
var expect = require('Chai').expect 

[...] 

describe('When request baseURL/hello', function(){ 
    it('should salute you !', function (done) { 
     request 
     .get(baseURL + '/hello') 
     .expect(200) 
     .end(function(err, res){ 
     if(err) return done(err) 
     done() 
     }) 
    }) 
    }) 

Ich habe die Ausgabe fehlschlagen:

TypeError: request.get(...).expect is not a function 

Wenn ich den Kommentar Warte, alles funktioniert. Ich versuche diese Route mit Postman und ich habe einen 200 Status Code wie erwartet.

Antwort

2

Ich denke, Sie verwenden das falsche Testmodul: Sie benötigen supertest, nicht superagent. Installieren Sie einfach das Modul supertest, ändern Sie die Zeile require, und versuchen Sie es erneut.

+0

Vielen Dank für Ihre schnelle Antwort. Sehen Sie sich dieses Video auf youtube an: watch? V = E9Fmewoe5L4 um 7:45 – Ragnar

+0

Ich ändere superagent mit Supertest und ich habe den gleichen Fehler. – Ragnar

+0

Versuchen Sie, die Zeile 'var expect = require ('Chai'). Expect' zu kommentieren - es könnte sein, dass das 'expect', das in' supertest' eingebaut ist, mit dem anderen verwechselt wird. –

Verwandte Themen