摩卡testing案例抛出错误:预计200“OK”,得到403“禁止”

我正在使用mochajs来处理我的平均应用程序服务器端testing用例。testing用例显示错误, Error: expected 200 "OK", got 403 "Forbidden" 。 我试图在我试图testing的函数内部使用控制台日志,但他们从来没有得到执行。 我无法找出问题。 有人可以帮我弄这个吗。

我的控制器

 exports.signin = function(req, res) { req.body.username = new Buffer(req.body.username, base64').toString('ascii'); User.findOne({ username: req.body.username.toLowerCase() }, function(err, user) { if (err) { //do something } else if (!user) { //do something } else { //do something } }); }; 

我的testing案例

 it('should be able to signin if the credentials are valid', function(done) { var obj = { username: new Buffer('demo').toString('base64'), password: new Buffer('demouser').toString('base64') }; agent.post('/auth/signin') .send(obj) .expect(200) .end(function(signinErr, res) { if (signinErr){ console.log(signinErr); done(signinErr); } else{ var temp = res.body; console.log(temp); done(); } }); }); 

和我的路线

 app.route('/auth/signin').post(users.signin); 

我面临同样的问题。 我发现我们正在使用app.use(force-ssl)的中间件express-force-ssl在我们的应用程序中强制使用app.use(force-ssl) 。 我们用一个标志来控制这种行为。 当我做错了,testing用例运行良好。 所以如果你不用旗子来控制它的话。 尝试删除该模块并运行testing用例。