• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

통합 테스트에 관한 질문 이 있습니다.

22.02.28 12:09 작성 조회수 127

0

안녕하세요 강사님 강의를 따라하며 통합테스트에 다음과 같은 코드에서 의문점이 생겼습니다.

통합테스트에서 데이터를 update나 delete를 할때 실제 db에 있는 데이터가 수정,삭제가 되는것을 확인했습니다. 

지금은 TDD개발이라 테스트중에 사용되는 데이터라 상관이 없겠지만 

만약에 실제 서비스중이거나 중요한 데이터를 다루는 api에 대한 통합 테스트를 할때에는 서비스 db의 의존성없이 가짜 데이터로 테스트를 해야하는데 통합테스트를 할때 그렇게 하는 방법은 없나요??

 

it('PUT /api/products', async () => {
const res = await request(app)
.put('/api/products/' + firstProduct._id)
.send({ name: 'updated name', description: 'updqted discription' });
expect(res.statusCode).toBe(200);
expect(res.body.name).toBe('updated name');
expect(res.body.description).toBe('updqted discription');
});

답변 1

답변을 작성해보세요.

1

안녕하세요 이호겸님 ! 
실무에서는 데이터베이스도 개발용 데이터베이스를 따로 만들어서 쓰기 때문에 
통합테스트를 할 때 개발용 데이터베이스에서 데이터를 지우고 수정하셔도 될 것 같습니다 ~~! 
감사합니다 ! 

이호겸님의 프로필

이호겸

질문자

2022.03.03

좋은 답변 감사합니다!