• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

강의 중 describe POST 쪽 질문입니다.

21.03.04 13:41 작성 조회수 120

0

질문이 2개가 있습니다.

 

질문1)

강의에서는,

describe('POST /users 는', () => {
    before(() => models.sequelize.sync({force: true}));
    const users = [{name: 'alice'}, {name: 'bek'}, {name: 'chris'}];
    before(() => models.User.bulkCreate(users));

이렇게 하셔서 it 실행전에 before 에서 db 상태를 재정의해주셨는데요,

저는 위 부분을 before 하나로 합쳤는데 에러가 발생합니다.

똑같은 코드라 생각되는데, 어느 부분에서 차이가 있는건가요?

describe('POST /users 는', () => {
    before(() => {
        models.sequelize.sync({force: true});
        const users = [{name: 'alice'}, {name: 'bek'}, {name: 'chris'}];
        models.User.bulkCreate(users)
    })

 

 

질문2)

before(() => { models.sequelize.sync({force: true}) }) // 에러
before(() => models.sequelize.sync({force: true})) // 정상 실행

중괄호 유무에 따라 왜 차이가 있는건가요?

답변 1

답변을 작성해보세요.

0

sync()와 bulkCreate() 함수가 비동기 동작이라서 그렇습니다.

이렇게 한번 작성해 보시겠어요?

before(async ()=> {
    await models.sequelize.sync({force: true})
    models.User.bulkCreate(users)
})
Yoon-Gi Jo님의 프로필

Yoon-Gi Jo

질문자

2021.03.08

음 답변 주신 코드로 해봤더니 정상 작동이 됩니다.

그렇지만 async/await 이 어떤 키워드인지는 잘 모르겠네요... 공부를 해야겠습니다.