Ich habe diesen Code mit Supertest und Mokka:Wie bekomme ich den tatsächlichen Serverfehler beim Ausführen von Supertest in Mocha?
import request from 'supertest';
//....
var newGame;
describe('Creating game', function() {
beforeEach(function(done) {
request(app)
.post('/api/games')
.send({
owner: 'Mr. X',
})
.expect(201)
.expect('Content-Type', /json/)
.end((err, res) => {
if (err) {
return done(err);
}
newGame = res.body;
done();
});
});
describe('the created game', function() {
it('should name the specified owner', function() {
newGame.owner.should.equal('Mr. X');
});
...
})
});
Wenn der Code-Server führt eine Ausnahme (zB Zugriff auf Eigenschaften eines undefinierten Objekt) Ich erhalte diese Stack-Trace
Error: expected 201 "Created", got 500 "Internal Server Error"
at Test._assertStatus (D:\Codes\theApp\node_modules\supertest\lib\test.js:232:12)
at Test._assertFunction (D:\Codes\theApp\node_modules\supertest\lib\test.js:247:11)
at Test.assert (D:\Codes\theApp\node_modules\supertest\lib\test.js:148:18)
at Server.assert (D:\Codes\theApp\node_modules\supertest\lib\test.js:127:12)
at emitCloseNT (net.js:1521:8)
anstelle der tatsächlichen Fehler, der etwas wie "Zugriff auf Eigenschaften von undefined" sagt. Wie kann ich den tatsächlichen Fehler erhalten?
Große Frage, wie es scheint, vielleicht nur alte Unit-Tests, dass die tatsächlichen Funktionen aufrufen könnte besser sein, stürzt auf die Spur? Oder vielleicht eine Kombination aus Supertests und Unit Tests: / –