끼룩끼룩
108
2017-09-14 18:13:57.0 작성 2017-09-14 18:16:27.0 수정됨
2
151

테스트코드 관리 어떻게 하시나요?


안녕하세요 Spring boot 로 서버 개발중입니다. 

제품출시가 얼마남지 않았는데 현재는 Git에서 개발브랜치를 구성하여

테스트 서버와 / 테스트 DB를 생성하여 서버 코드를 작성하고 있습니다. JUnit 테스트 코드 또한

모두 테스트 DB의 데이터에 맞춰 구성되고있습니다.


추후에 서비스를 런칭하면서 실제 운영 서버와 운영 DB를 구축하여 새로 인스턴스를 생성할텐데

개발 브랜치에서 master(프로덕션) 브랜치로 머지하면서 테스트 코드들이 모두 깨지는것이 우려가 되고 있습니다. 새로운 DB를 바라보기 때문이죠. 


그것까지는 한번정도 노가다로 운영 DB와 키를 맞출수 있다고 하지만 추후에 운영하면서

추가 개발이 들어갈때 우선적으로 개발브랜치에 개발이 진행될텐데 테스트 DB기준으로 테스트또한 작성될것입니다. 문제는 추가기능 개발이 완료된후 다시 master 브랜치에 머지할때마다 테스트 정보가 달라서 테스트가 깨지며 할때마다 운영DB에 맞춰 코드를 변경시켜야 하는 문제가 있네요..

이런부분에 있어서 운영경험이 있으신분은 답변부탁드립니다..

0
0
  • 답변 2

  • 덕구
    411
    2017-09-14 20:20:17.0

    기본적으로 로직을 제외한 리소스는 프로파일링(profile) 해서 관리 합니다.

    기본적으로 local 셋을 default profile 로 잡고, 배포 환경 마다 profile 별로 정리해서

    빌드 시에 profile 별로 빌드하면 됩니다. ( lib 도 동일 )

    커밋할 때에도 db 커넥션 같은 정보는 보안문제상.. local 외에는 ignore 처리 하구요.

    혹시나 하지만.. 환경마다 DB 모델이 다른 것은 아니시지요 ? -_-;

    0
  • 끼룩끼룩
    108
    2017-09-14 22:46:01.0

    네 맞습니다. DB 정보는 프로퍼티로 관리하고잇습니다. 운영디비와 테스트 디비는 분리 되어있구요. 

    테이블 구조는 같으나 들어가있는 데이터가 상이하여 발생하는 문제였습니다.

    MOCK 테스트를 수행하지는 않고있습니다.. 

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.