40
2022-01-14 17:09:24
3
136

DB연동 테스트코드 작성 시 외래키는 어떻게 처리하시나요?


안녕하세요,

DB연동하여 테스트하는 과정에서 외래키로 관계되어 있는 테이블을 테스트할 때 어떻게 테스트코드를 작성해야 좋을지 모르겠어서 질문 드립니다.



위 그림처럼 COMPANY(기업) 테이블이 있고, USER(사용자)가 COMPANY테이블의 기업코드를 참조하는 형식으로 되어있습니다. (사용자 테이블의 COMP_CODE는 필수 값으로 NOT NULL 입니다.)

이렇게 외래키가 걸려있는 경우에 사용자 등록 테스트를 하려면 기업 데이터가 있어야 하는데, 그럼 사용자 등록 테스트를 할 때 기업정보도 같이 등록하고 테스트를 해줘야할까요?

참조하고 있는 테이블에도 고려하여 데이터를 같이 넣어주는 방식으로 처리하면 테스트코드가 복잡해지고, 하나의 관점(사용자면 사용자, 기업이면 기업)에 대해 테스트하는게 아닌 것처럼 보여 테스트 코드의 목적이 모호해질 것 같아 고민입니다.


테스트코드 입문자에게 조언 부탁드립니다..ㅠ

0
  • 답변 3

  • Dive_Drink_Develope
    6k
    2022-01-14 17:46:29

    https://www.google.com/search?q=db+%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%BD%94%EB%93%9C+%EC%8B%A4%ED%96%89+%EC%88%9C%EC%84%9C

  • 마도사
    1k
    2022-01-14 18:01:46
    일반적으로 외래키를 작성안하는 프로젝트도 많습니다. 프로그램적으로 처리하고요.
    사용자 입력 테스트에서 회사코드 외래키때문에 안된다면...
    회사코드를 먼저 입력하는 테스트를 수행후 사용자 입력 테스트를 진행하면되고....사용자 입력만 테스트할때는 필요한 데이터들을 적재해놓고 테스트 진행합니다.
  • 엡실론
    2k
    2022-01-14 18:40:17
    어렵게 생각하지 마세요. 테스트 코드도 그냥 코드입니다. 공통되는 부분은 함수로 뽑아내고, 의도가 잘 보이게 정리를 하면 됩니다. JUnit 같은 걸 쓰시면 Fixture를 활용해도 좋고요.
  • 로그인을 하시면 답변을 등록할 수 있습니다.