Mocha test cases throwing Error: expected 200 "OK", got 403 "Forbidden"

Mocha test cases throwing Error: expected 200 "OK", got 403 "Forbidden"

我正在使用 mochajs 进行平均应用程序服务器端测试 cases.The 测试用例显示错误,Error: expected 200 "OK", got 403 "Forbidden"。 我尝试在我尝试测试的函数中使用控制台日志,但它们从未执行过。我无法找出问题所在。有人可以帮我弄这个吗。

我的控制器

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
        }
    });
};

我的测试用例

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 在我们的应用程序中强制使用 SSL。我们使用一个标志来控制这种行为。当我做错时,测试用例 运行 很好。 因此,如果您不使用标志控制它。尝试删除该模块和 运行 你的测试用例。