Ich habe den folgenden Unit-Test mit Chai, aber auch wenn ich den Endpunkt den Unit-Test übergibt. Ich weiß nicht, wie das möglich ist?Unit-Test mit Chai
var chai = require('chai');
var chaiHttp = require('chai-http');
var mongoose = require('mongoose');
var server = require('./index.js');
var should = chai.should();
chai.use(chaiHttp);
var agent = chai.request.agent(server.app);
var Cookies;
describe('integration tests for server component', function() {
before(function (done) {
//mongoose.createConnection('mongodb://someserver');
chai.request(server.app)
.post('/user/login')
.send({email:'[email protected]'})
.end(function(err, res){
res.should.have.status(200);
Cookies = res.headers['set-cookie'].pop().split(';')[0];
});
done();
});
it('should GET /user/loggedin with status 200', function(done) {
chai.request(server.app)
.get('/user/loggedin')
.end(function(err, res){
res.should.have.status(200);
});
done();
});
it('should POST /user/isregistered with status 200', function(done) {
var user = {
email: '[email protected]'
};
chai.request(server.app)
.post('/user/isregistered')
.send(user)
.end(function(err, res){
res.should.have.status(200);
});
done();
});
it('should GET /allskills', function(done){
chai.request(server.app)
.get('/user/allskills')
.end(function(err, res){
err.to.be.null;
res.to.have.status(200);
res.should.be.json;
res.body[0].to.have.property('_id');
res.body[0].to.have.property('name');
});
done();
});
Ist dies der richtige Weg, Unit-Tests mit Chai zu machen?
Der Zweck des Vorher ist es, eine Sitzung an Ort und Stelle zu haben. in der es aber ich denke, ich eine Sitzung direkt, ohne jeden Anruf zu /user/login
Sie müssen 'done' innerhalb des an 'end' übergebenen Callbacks aufrufen, sonst teilen Sie Mocha vorzeitig mit, dass der Test abgeschlossen ist. – robertklep
oooooooooooooooohhhhhhh danke. – user3450754