본문 바로가기

java4

[SpringBoot] Repository 테스트 하기 오늘은 저번 글에 이어 Repository를 테스트 하는 방법을 알아보겠습니다. 기존에 local에서 서버 테스트를 할 때 h2DB를 쓰기 때문에 jpa테스트를 진행할 때는 별개의 db를 사용하기 위해서 property 파일에 사용할 DB명시가 필요합니다.저희 프로젝트에서는 yml 파일로 설정을 관리하기 때문에 application-testdb.yml 이라는 파일에 db정보를 넣어주겠습니다.spring: #test DB?? config: activate: on-profile: test datasource: driver-class-name: org.h2.Driver username: 'sa' password: url: jdbc:h2:mem:test;DB_CLOSE_.. 2024. 10. 1.
[Java] JsonPath, ObjectMapper 지난 시간에 ObjectMapper 에 대해 설명했다. 더보기[Java] 리플렉션, ObjectMapperhttps://starsufers.tistory.com/40 [Java] 리플렉션, ObjectMapper우리가 SpringBoot 에서 rest api 를 개발할 때 흔히 쓰는 @RequestBody 가 정확히 어떻게 동작하는지 생각해본 적이 있는가? /** * 앱 관측적합도 상세 페이지를 위한 실시간 날씨 정보 제공 */ @PostMapping("/ostarsufers.tistory.com   ObjectMapper 는 객체로부터 Json 형태의 문자열을 만들어내고, 역으로 Json 형태의 문자열로 객체를 만들 수 있기 때문에 로깅할 때 유용할 때 사용할 수 있다.예를 들어 dto 를 그냥  Sy.. 2024. 6. 10.
[Springboot] Test With Mockito, JUnit 오늘은 SpringBoot 프로젝트의 Service, 로직 단 테스트 코드 작성 방법을 작성하려고 한다. ▶︎ JUnit Java에서 독립된 단위테스트를 지원해 주는 프레임워크 Junit에서 지원하는 유용한 Annotation들 @Test : 각 테스트가 독립된 UnitTest로 작동할 수 있게 해준다. 각 유닛테스트 단위에 붙이면 된다. @BeforeEach : 각 테스트 실행 전에 실행된다. 모든 테스트에 공통으로 Stubbing을 해야 하는 경우에 사용 @Before : 모든 테스트 실행 전에 1번 실행된다. @After : 모든 테스트가 끝난 후 실행된다. 테스트 종료 후에 정리해야 할 데이터가 있는 경우 사용 @AfterEach : 각 테스트 종료 후에 한 번 실행된다. ▶︎ Mockito 자바.. 2024. 3. 5.
[QueryDSL] queryDSL 도입기 저번에 사용했던 JPA Specification에 이어서 이번에는 QueryDSL을 도입해 보려고 합니다. ▶ QueryDSL 자바 코드로 SQL과 같은 쿼리를 생성해 주는 프레임워크로 기본적으로 @Entity로 등록된 클래스들을 Q클래스로 생성해 사용합니다. JPA를 사용하다 쿼리가 복잡해질 때는 JPQL을 사용하거나 저번에 소개한 Specification을 사용할 수 있습니다. 하지만 다음과 같은 장점 때문에 QueryDSL을 많이 사용합니다. java 코드로 가독성 좋은 쿼리 조건 작성 컴파일 시점에 문법 오류 발견 가능 자동완성 편리 동적인 쿼리 작성 가능 (BoleanBuilder, BooleanExpression 활용) 결국 자바로 작성하기 때문에 작성 중에 IDE에서 컴파일 오류를 잡아줄 뿐.. 2024. 1. 28.