해결된 질문
작성
·
330
1
안녕하세요 expect관련 함수에 대해서 질문이 있습니다.
describe('POST /join', () => {
test('로그인 안 했으면 가입', (done) => {
request(app)
.post('/auth/join')
.send({
email: 'zerohch0@gmail.com',
nick: 'zerocho',
password: 'nodejsbook',
})
.expect('Location', '/')
.expect(302, done);
});
});
위의 함수에서 expect들이 나타내는게
res.status(302).redirect(‘/’) 라는것은 알겠는데,
정확하게 이해를 못해서 질문을 드립니다.
expect함수는 expect(value) 형태로 사용하는거라고 알고있는데 인수를 2개씩 써도 상관이 없는건가요??
그리고 'location', '/', '302'의 순서는 상관이 없나요?
답변 5
2
1
supertest 공식문서를 읽어보다가 궁금증이 생겨서 한번 더 질문 드려요..
공식문서에 expect가 이런식으로 적혀있는데 여기서 [,fn] 이 의미하는 것은 펑션을 생략해도 되고 붙여도 된다는 의미로 이해해도 될까요?
실제로 코드를
test('로그인 수행', async (done) => {
request(app)
.post('/auth/login')
.send({
email: 'zerohch0@gmail.com',
password: 'nodejsbook',
})
.expect(302)
.expect('Location', '/', done);
});
이런식으로 바꿔도 테스트에는 영향이 없던데 꼭 공식문서의 예시처럼 맞춰야하는 걸까요??
1
1
expect 메서드가 expect(value) 형태로 사용한다고 어디에 나와있나요?
expect는 expect(header, value) 또는 expect(statusCode, done)입니다.
location / 302 순서는 지키셔야 합니다.
0
test('1 + 1 은 2일겁니다.', () => {
expect(1 + 1).toEqual(2);
});
이런 식으로 expect는 matcher함수와 같이 쓰는게 아닌가요??
혹시 모듈 자체를 jest랑 supertest랑 전혀 다르게 생각해서 안에 쓰이는 함수의 형태도 다른 것인가요??