1
Express 서버가 있으며 인증을 위해 passport-local을 사용하고 있습니다. 다음과 같은 보호 된 경로가 있습니다 :모카 차이 (Mycha Chai) 보호 경로 테스트
app.post("/api/test", connect.ensureLoggedIn("/"), (req, res) => {
let test = new Test(req.body);
test
.save()
.then(data => {
return res.json(data);
})
.catch(e => {
return res.status(HTTP_RESPONDE_BAD_REQUEST).send(e);
});
});
위에서 언급 한 경로를 테스트하여 사용자가 로그온했는지 어떻게 확인할 수 있는지 궁금합니다.
이 내 현재 테스트 (I 인증을 보낼 수 않네 있기 때문에, 통과하지 못할 것입니다 :
it("Testing protected route", done => {
chai
.request(server)
.post("/api/test")
.send(test)
.end((err, res) => {
expect(res.status).to.equal(200);
done();
});
});
나는 다음을 시도,하지만 테스트를 실행할 때 그들이 나를는 로그인 페이지로 리디렉션합니다.
it("Testing protected route", done => {
chai
.request(server)
.post("/api/test")
.set('Authorization', 'Bearer ' + token) // user token id
.send(test)
.end((err, res) => {
expect(res.status).to.equal(200);
done();
});
});
it("Testing protected route", done => {
chai
.request(server)
.post("/api/test")
.set('token', token) // user token id
.send(test)
.end((err, res) => {
expect(res.status).to.equal(200);
done();
});
});
내가 내 단위 테스트에 대한
supertest
및
mocha
를 사용하고이를 테스트 할 수있는 쉬운 방법?
두 번째 예는 로그인하거나에 token''유효한을 작성해야한다는 점을 제외 그것을 할 올바른 방법입니다 용도. – doublesharp
유효한 토큰을 사용하고 있습니다. 우편 배달부에서 잘 작동합니다. – Glund
제 앱에서 똑같은 일을하고 있습니다. 유효한 토큰으로 잘 작동하고 있습니다. 올바른 헤더가 있다고 가정합니다. – doublesharp