기본 MEAN 스택을 사용하고 인증 프로세스에 패스포트를 사용하여 로그인 프로세스를 구축했습니다.NodeJS/Passport - mocha 및 superagent로 사용자 로그인 테스트
로그인 프로세스가 작동하는지 테스트하도록 설정하려고합니다. 나는 다음과 같은 오류가
it ('login', function(done) {
agent.post(config.web.vhost + '/login')
.send({ email: '[email protected]', password: 'batman' })
.end(function(err, res) {
if (err) console.log('error' + err.message);
res.should.have.status(200);
done();
});
});
:
이오류 이메일 : [email protected] - 안돼 오류 errorsocket가 두 배 을 끊지 않습니다 여기에 로그인 부분을하는 것은 내가 사용하는 코드입니다 콜백!
1 passing (2s)
1 failing
1) User login:
Uncaught TypeError: Cannot read property 'should' of undefined
나는 나의 경로와 자격 증명을 잘 알고 있지만 여기에 작동하지 뭐죠 알아낼 기운 다. 이것은 사용자 테스트의 첫 걸음입니다. 그래서 나는 아마 뭔가 옳은 것을 얻지 못할 것입니다. 여기
가 내 테스트의 나머지 부분이다 : 나는 당신이보고있는 실패가connect ECONNREFUSED
것을 알 수
var should = require("should");
var mongoose = require('mongoose');
var request = require('superagent');
var agent = request.agent();
var config = require("../settings/conf");
var dbUrl = require("../config/database.js");
var User = require('../server/models/user');
var db;
describe('User', function() {
before(function(done) {
db = mongoose.connect(dbUrl.url);
done();
});
after(function(done) {
mongoose.connection.close()
done();
});
beforeEach(function(done) {
var user = new User({
email: '[email protected]',
password: 'batman',
firstName: 'Bruce',
lastName: 'Wayne'
});
user.save(function(err, user) {
if (err) console.log('error' + err.message);
else console.log('no error');
done();
});
});
it('find a user by username', function(done) {
User.findOne({ email: '[email protected]' }, function(err, user) {
user.email.should.eql('[email protected]');
console.log(" email: ", user.email)
done();
});
});
it ('login', function(done) {
agent.post(config.web.vhost + '/login')
.send({ email: '[email protected]', password: 'batman' })
.end(function(err, res) {
if (err) console.log('error' + err.message);
res.should.have.status(200);
done();
});
});
afterEach(function(done) {
User.remove({ email: '[email protected]' }, function() {
done();
});
});
});
이 문제가 해결되었지만 여전히 오류가 발생합니다. 내 게시물의 오류 메시지를 업데이트했습니다. 왜 내가 "이중 콜백"메시지를 얻는 지 아십니까? – Spearfisher