我創建一個單元測試來測試護照,第一步是創建一個用戶。創建用戶超時並且測試無法進行。貓鼬插入永遠不會返回單元測試
測試(login.js):
'use strict';
var app = require('../index'),
kraken = require('kraken-js'),
mongoose = require('mongoose'),
User = mongoose.model('User'),
should = require('chai').should(),
Q = require('q'),
agent = require('supertest'),
cookie,
pUser = {
firstName: 'pasport-test',
lastName: 'user',
userName: 'passport-user',
email: '[email protected]',
password: '[email protected]@ssw0rd'
}
describe('#create user and log them in with passport', function() {
this.timeout(10000);
var mock;
beforeEach(function (done) {
kraken.create(app).listen(function (err, server) {
mock = server;
done(err);
});
});
afterEach(function (done) {
mock.close(done);
});
describe('#login the user', function() {
it('should create a user', function (done) {
var user = new User({
firstName: pUser.firstName,
lastName: pUser.lastName,
userName: pUser.userName,
email: pUser.email,
password: pUser.password
});
user.save(function(err, data) {
if(err) {
done(err);
} else {
done();
}
});
//it should then login that user with passport
});
});
如果我連Ø直接貓鼬:
mongoose.connect("mongodb://localhost/testing");
,並要求用戶這樣說:
User = require('../models/user');
它的工作原理。
我想使用的服務器和連接的beforeEach
與海怪設置,使刀片在配置數據庫發生......
問題是爲什麼貓鼬插入就再也回不來了測試?
我不清楚你的意思......我假設傳遞給'user.save'的回調沒有被調用,所以測試超時。我對嗎? – Esteban