UnitTest 로 빠른 피드백 얻기 - Prisma 버젼 Update

Prisma의 주요 단점 중 하나는 JOIN 절이 지원되지 않았던 것이었다. 이 문제는 최근 5.7 버젼에서 FeaturePreview로 추가되었고, 이 소식을 듣고 반가운 마음에 즉시 적용을 시작했다. 이렇게 고민 없이 적용할 수 있는 이유는 바로 테스트에 있다.

일반적으로 대부분은 주요 라이브러리의 버전 업데이트를 하지 않거나, 할 경우에도 매우 보수적으로 진행하는 경향이 있다.

 

그럼 어떻게 진행했는지 진행과정을 공유해 보겠다.

 

1. 패키지 업데이트 & 전체 테스트 수행


패키지 매니져를 통해서 업데이트를 하고 모든 테스트를 수행했지만, 실패하는 테스트 케이스는 없었다. 일단은 안심이다. 아직 추가된 Feature를 사용하지 않아서 쉽게 성공했을 수도 있다. 

 

2. 기능 리팩토링


이제 가장 중요한 Repository 를 구현체를 새롭게 추가된 Join을 사용할 수 있도록 리팩토링을 해나갔다. 첫 번째 케이스에서 무난이 통과했고 다음 케이스를 작업을 진행했지만, 에러에 직면하게 되었다.

Inconsistent column data: Unexpected conversion failure from String(2023-12-06T17:43:39.515686+00:00) to DateTime. Reason: $trailing input


Github Issues 에 검색해 봤더니 역시 이미 버그 리포팅되어 있었다. 해당 개발자가 버그를 인지하였고 NativeType 들에 대한 케이스를 놓쳤다고 코멘트를 했다. (이슈 링크 참고) 


3. 테스트 코드의 빠른 피드백


나는 테스트 코드를 통해서 실제 프로던션 혹은 개발서버에 코드를 배포하지 않고도 라이브러리의 버젼업과 새로운 기능에 대해서 테스트를 진행할 수 있었다. 만약 테스트코드가 없었다면? 코드를 추가하고 Local에서 API 서버를 기동 하고  데이터 셋업 후 API 호출하고 문제가 발생했는데, 어떤 부분이 문제인지 파악하고 있었을지도 모른다.

하지만 테스트 코드를 통해서 극도로 좁은 범위인 Repository 코드만 수행했으며 문제가 발생하더라도 테스트 범위가 적기 때문에 고려 대상이 적다. 그리고 무엇보다 코드 변경후 수초 안에 다시 테스트 가능하며, 심지어 디버깅도 가능해진다. 

우리가 겪는 SpringBoot 1.x 버젼이라 어려워요. Java 버전이 너무 낮아요. 관련된 문제들도 테스트를 작성하면서 조금씩 커버리지를 올리다 보면 과감하게 버전업 할 수 있는 날이 올 것이다.


위글은 아래 블로그에도 게시되었습니다.
https://blog.anyjava.net/144

UnitTest 로 빠른 피드백 얻기 - Prisma 버젼 Update 사례

또라이개발자

UnitTest 로 빠른 피드백 얻기 - Prisma 버젼 Update 사례

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 12월 12일 오전 1:55

댓글 0

    함께 읽은 게시물

    앱 개발 개척시대

    A

    ... 더 보기

    앱 개발 개척시대

    K리그 프로그래머

    앱 개발 개척시대

     • 

    저장 2 • 조회 921


    나는 가끔 조합형 한글의 아름다움에 대해 생각한다.


    그 아름다움은 단순히 예쁜 글꼴이나 정갈한 종이 위의 자소 배열에서 끝나지 않는다. 진짜 매력은, 정밀한 정보 구조와 이산 수학적 규칙성 속에 숨어 있다.


    ... 더 보기

    직장인으로서 10년 정도 일하게 되면 피할 수 없는 순간이 바로 조직에서 리더의 역할을 받게 되는 인사발령이다. 팀원이었을 때는 내게 주어진 업무를 내가 가진 능력과 주변 동료들의 도움으로 해결하고, 그에 합당한 평가와 보상을 기다리며, 나쁘지 않는 리워드와 내 위치에 안도하며 또 새해를 맞이하고 하루하루를 버텨나가는 과정에 큰 어려움이 없다.

    ... 더 보기

     • 

    저장 3 • 조회 737


    2025 쿠팡이츠 테크 신입 개발자 공개 채용

    ... 더 보기

    2025 쿠팡이츠 테크 신입 개발자 공개 채용

    Coupang Careers

    2025 쿠팡이츠 테크 신입 개발자 공개 채용


    개발자의 코드리뷰는 상명하복이 아니다.

    면접관으로 들어가면 꼭 하는 질문들이 여러 개가 있다.

    ... 더 보기

    조회 226