테스트 코드는 작성된 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드입니다. 보틍 테스트 코드를 사용하는 스프링 부트 공부를 하려고 했지만, 테스트 코드를 중심으로 관련된 강의나 서적을 발견하지 못했습니다. 그래서 테스트 코드 작성
흔히 있는 식당에서 식사한 경험을 떠올려보세요. 일반적으로 고객이 식당에 들어가면 점원에게 요리를 주문합니다. 그리고 점원은 주방에 가서 '요리를 만들어 주세요.'라고 요청하죠. 그리고 요리가 완성되면 다시 점원이 손님에게 요리를 전달합니다.여기서 고객은 클라이언트,
자바에서는 큰 변화가 두 번 있었습니다. 한번은 JDK 1.5부터 추가된 지네릭스(Generices)등장이고, 또 한 번은 JDK 1.8부터 추가된 람다식(Lambda expressiin)의 등장입니다. 이 두 가지 새로운 변화에 의해 자바는 많이 변경되었습니다. 특히
빌더 패턴(Builder Pattern)은 복잡한 객체의 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴입니다. 생성자에 들어갈 매개변수를 메서드로 하나하나 받아들이고 마지막에 통합 빌드해서 객체를 생성하는 방식입니다. 점층적 생성자 패턴(
정적 팩토리 메서드란 무엇인가?내가 정적 팩토리 메서드에 대해서 잘 모르는 것 같다는 생각이 들었다. 내가 알고 있던 정적 팩토리 메서드는 of, from 등 메소드 이름을 지정하고, 생성자 호출 방식이 아닌, 메서드 호출 방식으로 객체를 생성하는 것이다. 나는 그냥
Junit 테스트 시에 @WebMvcTest와 @SpringBootTest를 대표적으로 사용하는데, 두 가지 Test 어노테이션의 차이가 존재한다고 한다. SpringBoot 테스트 시에 두 가지 어노테이션의 차이를 살펴보자.먼저 Mock과 MockMvc에 대해서 알
Java 언어에서 독립된 단위 테스트(Unit Test)를 지원해 주는 프레임워크를 의미한다.JUnit 5의 경우 'Java8 이상 버전'부터 지원을 하며 JUnit Platform, Jupiter, Vintage 모듈이 결합된 형태이다.Junit5 공식 홈페이지 ht
Model은 스프링 프레임워크에서 컨트롤러에서 뷰로 데이터를 전달하는 데 사용되는 인터페이스입니다. Model을 이용하여 컨트롤러에서 뷰로 데이터를 전달할 수 있습니다. Model 인터페이스는 모델 데이터를 저장하고 뷰로 전달하는데 필요한 메서드를 정의하고 있습니다.보
MockMvc는 스프링 프레임워크에서 제공하는 웹 애플리케이션 테스트용 라이브러리이다.MockMvc의 핵심은 웹 애플리케이션의 다양한 컴포넌트를 테스트 수행이다.MockMvc를 사용하면 HTTP 요청을 작성하고 컨트롤러의 응답을 검증할 수 있습니다. 이를 통해 통합 테
spring boot configuartion processor 에 대한 정리는 밸덩의 내용과 동일하다는 점을 참고하기 바랍니다. https://www.baeldung.com/spring-boot-configuration-metadataSpring Boot C
QueryDSL 의 QuerydslPredicateExecutor 부터 학습하면서 Predicate, Function 인터페이스를 만나게 됩니다. 그리고 이전에 정리한 람다와 메소드 레퍼런스도 함께 사용되기 때문에 \[첫번째 프로젝트] 3. 람다부터 읽는 것을 권장합니
QuerydslPredicateExecutor는 Spring Data JPA에서 제공하는 인터페이스 중 하나입니다. 이 인터페이스는 Querydsl을 사용하여 동적 쿼리를 작성하고 실행할 수 있는 메서드를 제공합니다. 주로 Spring Data JPA와 Querydsl
JUnit의 사용예시를 통해서 각각 어노테이션과 메서드의 사용법을 알아봅니다.JUnit에서 메서드를 테스트 메소드로 표시하는 데 사용됩니다.테스트 클래스가 실행되면 JUnit은 @Test로 주석이 달린 메소드를 개별적인 테스트 케이스로 식별하여 실행합니다.테스트를 시작
Mockito 공식 홈페이지: https://site.mockito.org/Mockito 깃허브 주소: https://github.com/mockito/mockito단위 테스트를 위해 모의 객체를 생성하고 관리하는 데 사용되는 Java 오픈소스 프레임
소프트웨어를 개발하기 위한 '구체적인 절차, 방법, 기술 등을 정리'한 것입니다. 이를 통해 개발자들이 프로젝트를 효율적으로 관리하고 소프트웨어를 더욱 품질 높게 개발할 수 있도록 도와줍니다.소프트웨어 개발방법론으로는 대표적으로는 폭포수 모델 (Waterfall Mod
이번 장을 읽기 전, 소프트웨어 개발 방법론의 내용을 한 번 읽은 후에 해당 내용을 읽는 것을 권장합니다.소프트웨어 개발 방법론은 소프트웨어를 개발하기 위한 '구체적인 절차, 방법, 기술 등을 정리'한 것입니다. 이를 통해 개발자들이 프로젝트를 효율적으로 관리하고 소
트랜잭션(Transaction)은 데이터베이스와 같은 시스템에서 여러 연산을 논리적으로 하나의 단위로 묶어서 처리하는 개념입니다. 트랜잭션은 여러 단계의 작업이 모두 성공적으로 수행되어야만 완료되는 원자성(Atomicity), 특정 작업이 완료된 상태에서만 다음 작업이