test 4

H2를 사용한 Test Code의 초기 데이터 설정

🎈 구현이유지난 포스팅에서 안드로이드 기기에 가상화 에뮬레이터를 사용해 docker의 사용 방법을 학습했습니다. 하지만 이후 Prometheus에서 지속적인 에러가 발생하고 현재 프로젝트에서 트래픽이 적기 때문에 termux에서 gradle을 사용해 빌드하기로 결정했습니다. 이후 트래픽 증가하면 prometheus를  docker가 아닌 직접 설치하여 운용할 예정입니다. 그래서 github에서 프로젝트를 clone후 빌드과정에서 테스트 코드의 최신화가 안되어있어 해당 부분을 점검 중 초기 데이터를 data.sql을 사용해 넣는 방식이 아닌 빌드 과정에서 PostConstruct 어노테이션을 사용해 save하는 방식으로 데이터를 설정하는 코드를 발견했습니다.  해당 방식은 Transcation 어노테이션..

Spring/Java 2025.01.13

Redis Test Code를 위한 Redis Test Container 사용법

🔥 문제상황Redis Cache 적용 후 테스트를 돌릴 때 redis에 접속할 수 없다는 로그 출력.org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis...개발, 배포 서버에서는 docker를 사용해 redis container를 올려 사용중이지만 테스트도 해당 container를 필요로합니다. 하지만 pr 리뷰를 해주는 sonarcloud같은 툴을 사용하면 다른 환경에서 테스트를 실행하게 되는데 이런 환경에서는 직접 test container를 올릴 수 없으니 환경에 독립적으로 테스트를 수행할 수 있어야합니다. 👀 해결방법embedded redis 사용test container 구현embe..

Spring/Java 2024.09.01

[Spring] JaCoCo를 사용한 커버리지 체크

JaCoCo(Java Code Coverage)는 Java 애플리케이션의 코드 커버리지를 측정하고 보고서를 생성해주는 오픈 소스 도구입니다. JaCoCo는 Java 프로젝트의 테스트 범위를 분석하여 코드의 테스트 커버리지 비율을 제공함으로써, 개발자가 테스트가 충분히 수행되지 않은 부분을 식별하고 개선할 수 있게 도와줍니다. 또 테스트 결과를 다양한 보고서 형식으로 변환해 추가적인 작업에도 사용할 수 있습니다.HTML: 시각적으로 보기 쉽게 제공XML: CI/CD 파이프라인과 통합 가능CSV: 데이터 분석용적용// JaCoCo 플러그인 적용plugins { id 'jacoco'}// JaCoCo 설정jacoco { toolVersion = "0.8.8" // JaCoCo 도구 버전 설정}// ..

Spring/Java 2024.07.29

[Spring] test report

spring rest docs적용하다 새로 알게된 작은 꿀팁...?입니다.gradle test를 돌리면 build/reports안에 저렇게 index.html파일이 생깁니다.이 html파일을 브라우저로 실행시키면!!사진과 같이 작성한 테스트 코드에 대한 요약이 있습니다!!!저에겐 굉장히 도움이 될 예정인데 여러분에게도 조그마한 도움이 될까 싶기도 하고 너무 신기해서 포스팅으로 올렸습니다 :)

Spring/Java 2024.07.05