통합테스트 질문
170
작성한 질문수 18
통합테스트 회원가입 로그인 하고 있는데요
맨 마지막에 아래 코드를 넣어도 계속 오류가 발생합니다.
afterAll(async () => {
await sequelize.sync({ force: true });
});
[오류내용]
● POST /join › 이미 로그인 했으면 redirect /
expected "Location" of "/?error=%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%ED%95%9C%20%EC%83%81%ED%83%9C%EC%9E%85%EB%8B%88%EB%8B%A4.", got "/error=%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%9C%20%EC%83%81%ED%83%9C%EC%9E%85%EB%8B%88%EB%8B%A4."
43 | password: 'nodejsbook',
44 | })
> 45 | .expect('Location', `/?error=${message}`)
| ^
46 | .expect(302, done);
47 | });
48 |
at Object.<anonymous> (routes/auth.test.js:45:14)
[원본소스는 아래와 같습니다.]
.expect('Location', `/?error=${message}`); 이부분 주석 해제를 하면 오류가 발생합니다. 왜 그런건가요?
const request = require('supertest');
const { sequelize } = require('../models');
const app = require('../app');
beforeAll(async () => {
await sequelize.sync();
});
describe('POST /join', () => {
test('로그인 안 했으면 가입', (done) => {
request(app)
.post('/auth/join')
.send({
email: 'zerohch0@gmail.com',
nick: 'zerocho',
password: 'nodejsbook',
})
.expect('Location', '/')
.expect(302, done);
});
});
describe('POST /join', () => {
const agent = request.agent(app);
beforeEach((done) => {
agent
.post('/auth/login')
.send({
email: 'zerohch0@gmail.com',
password: 'nodejsbook',
})
.end(done);
});
test('이미 로그인 했으면 redirect /', (done) => {
const message = encodeURIComponent('로그인 한 상태입니다.');
agent
.post('/auth/join')
.send({
email: 'zerohch1@gmail.com',
nick: 'zerocho1',
password: 'nodejsbook',
})
.expect('Location', `/?error=${message}`)
.expect(302, done);
});
});
afterAll(async () => {
await sequelize.sync({ force: true });
});
답변 1
0
decodeURI('%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%ED%95%9C%20%EC%83%81%ED%83%9C%EC%9E%85%EB%8B%88%EB%8B%A4.", got "/error=%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%9C%20%EC%83%81%ED%83%9C%EC%9E%85%EB%8B%88%EB%8B%A4')
"로그인 한 상태입니다.", got "/error=로그인한 상태입니다"
띄어쓰기 때문이네요.
0
답변 주신것처럼
"로그인 한 상태입니다."에서 "로그인한 상태입니다,"로 변경해도 똑같이 에러가 발생합니다.
test('이미 로그인 했으면 redirect /', (done) => {
const message = encodeURIComponent('로그인한 상태입니다.');
agent
.post('/auth/join')
.send({
email: 'zerohch0@gmail.com',
nick: 'zerocho1',
password: 'nodejsbook',
})
.expect('Location', `/?error=${message}`)
.expect(302, done);
});
0
저도 동일한 내용의 에러가 납니다.
띄워쓰기를 하지 않아도 에러가 나네요
혹시 해당 에러 잡으셨나요?
아래 해당 줄을 없애면 에러가 나지 않습니다.
리눅스 노드 설치시 패키지
0
159
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
905
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2281
2
a[title] 질문드립니다
0
375
1
리뉴얼 강의 및 공부 방법
0
581
1
jwt decode
0
1128
1
node.js 교과서 3판 질문드립니다
0
391
1
passport와 jwt
0
432
1
리뉴얼 강의
0
417
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
353
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
481
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
505
2
nunjucks res.render('error'); 작동을 안합니다.
0
511
1
질문있습니다.
0
346
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3535
1
수업자료는 어디있나요?
0
366
1
질문 있습니디
0
235
1
multer 사용시 file 외 name값은 못받나용?
0
416
1
코드 중복 부분 질문드립니다.
0
298
1
api 만드는 이유 질문드립니다.
0
286
1
Strategy의 done에 대해 질문드립니다.
0
362
1
안녕하세요 fs 권한 관련 질문드립니다
0
447
1
시퀄라이즈 연결질문...
0
493
2
res.setHeader vs res.cookie
0
1785
3





