Learning TDD und mein erster einfacher Test für meine "Hello World" Serverantwort schlägt in Mocha fehl. Ich benutze Mocha.js, Superagent, & Expect.js.Mokka-Test: Uncaught TypeError: Kann Eigenschaft 'Status' von Null nicht lesen
Wenn ich curl -i localhost:8080
, bekomme ich die richtige Antwort und Statuscode.
HTTP/1.1 200 OK
Content-Type: text/plain
Date: Mon, 27 Apr 2015 17:55:36 GMT
Connection: keep-alive
Transfer-Encoding: chunked
Hello World
Prüfregeln:
var request = require('superagent');
var expect = require('expect.js');
// Test structure
describe('Suite one', function(){
it("should get a response that contains World",function(done){
request.get('localhost:8080').end(function(res){
// TODO check that response is okay
expect(res).to.exist;
expect(res.status).to.equal(200);
expect(res.body).to.contain('World');
done();
});
});
});
Server Code:
var server = require('http').createServer(function(req, res){
res.writeHead(200, {"Content-Type":"text/plain"});
res.end('Hello World\n');
});
server.listen(8080, function(){
console.log("Server listening at port 8080");
});
Mokka Ausgabe:
Suite one
1) should get a response that contains World
0 passing (110ms)
1 failing
1) Suite one should get a response that contains World:
Uncaught TypeError: Cannot read property 'status' of null
at test.js:10:23
at _stream_readable.js:908:16
Ich habe versucht, dieses Problem zu googeln aber kein Glück herauszufinden, was Ich mache falsch.
hat bemerkt jemand, dass() erwarten to.equal doesnt mehr funktionieren ??? und dass die Bibliotheksautoren diesen Mist nicht erwähnen ??? BTW hat sich von ".to.equal" zu ".toEqual" geändert. Ich bin überrascht, dass der Code dieses Kerls überhaupt funktioniert – enorl76