본문 바로가기

test3

Spring Cloud OpenFeign 테스트하기 본 글은 이전에 작성된 글 (링크) 에서 이어지는 글입니다. 개요: 테스트의 두 가지 방법 Feign 테스트하기: 직접 요청 보내기 직접 서버에 요청을 보내 테스트하면 다음의 이점을 누릴 수 있다. 테스트용 서버를 통해 통합 테스트처럼 진행할 수 있다. Mock Server를 통해 테스트할 경우, 실제 서버와 충돌이 일어나도 알 방법이 없다. 그러나 서버와 직접 통신하게 되면, 기능 외적인 문제에 대해 미리 대응할 수 있다. 코드는 아래와 같다. (Java로 작성) //테스트용 서버에 맞게 환경을 조절하고, logger Level을 FULL로 지정하여 상세한 로그를 출력한다. @SpringBootTest(properties = {"env=test", "feign.client.config.default.l.. 2022. 3. 7.
H2로 SpringBoot 테스트 도중 SQL이 실행되지 않는 경우 대응법 이 글은 다음 상황에 대처한 경험을 작성한 글이다. MySQL, PostgreDB 등에서 사용하던 SQL이 H2 DB에서 실행되지 않는 경우를 확인한다. H2 모드를 조정하여 테스트 환경 등에서 쿼리가 정상 실행되도록 한다. 여러 환경에서의 DB 운영 현재 졸업 프로젝트를 진행하면서, 아래처럼 DB 환경을 나눠 구축하고 있다. application.yml에서 여러 yaml 파일을 import하여 관리한다. application-prod.yml에서 운영서버 실행 환경을 설정한다. DB는 MariaDB를 사용하며, flyway를 사용한다. application-local.yml에서 로컬 실행 환경을 설정한다. DB는 MySQL을 사용하며, flyway를 사용한다. application-test.yml에서 테.. 2021. 10. 8.
[JPA] findAll, findAllBy, findAllByIn AOP로 성능 테스트해보기 오늘 회사원 친구와 JPA 이야기를 하다가, 다음과 같은 질문을 받았다. 회사 코드를 보니까, Repository에서 findAll을 한 다음 stream으로 가공하는 코드가 있었다. 그런데 그 코드는, findAllByXXX로 바꾸면 해결되는 간단한 필터 연산 코드였다. findAll vs findAllByXXX의 시간 효율 차이가 얼마나 날까? 듣고 보니 궁금하기도 하고, 이런 걸 테스트해보고 싶어서 직접 코드를 짜봤다. 본 글에서 수행하는 내용은 다음과 같다. AOP로 타이머를 만들어서 서비스에 씌우고, SpringBootTest로 테스트를 실행한다. findAll, findAllBy, findAllByIn 세 가지를 사용할 때 쿼리가 어떻게 나오나 비교해 본다. 각각의 쿼리에 대한 서비스 차원의 .. 2021. 9. 2.
반응형