
이전 글: https://gojs.tistory.com/72 테스트 코드의 장점 활용하기테스트 코드를 작성하는 것은 단순하게 구현된 기능을 테스트한다는 의미 이상의 효과를 발휘한다.여러 긍정적인 효과를 발휘하고 테스트 자체로도 품질 지표가 되기도 한다.그렇다면 테스트gojs.tistory.com 단위 테스트는 코드 내의 단위(클래스, 메서드) 범위를 테스트하기 때문에 다른 객체나 외부 리소스에 의존성을 가지는 경우 테스트를 작성하기 까다롭다.예를 들면 데이터베이스에 의존하는 경우 데이터베이스에 데이터가 준비되어있어야 한다던지, 테스트하고자하는 영역 이외에 신경써야할 부분이 많아진다.또한 그렇게 테스트를 진행한다고 하더라도 데이터베이스 연결까지 포함하여 테스트하기 때문에 단위 테스트보다는 통합 테스트나 기..

이전 글: https://gojs.tistory.com/70 테스트의 종류와 필요성여러가지 개발 서적을 접하다보면 단위 테스트의 필요성을 자주 강조하고 있다.그렇다면 여러 가지 종류의 테스트 중에서 단위 테스트는 무엇이며, 단위 테스트가 필요한 이유는 무엇일까? 테gojs.tistory.com 테스트 코드를 작성하는 것은 단순하게 구현된 기능을 테스트한다는 의미 이상의 효과를 발휘한다.여러 긍정적인 효과를 발휘하고 테스트 자체로도 품질 지표가 되기도 한다.그렇다면 테스트 코드를 작성함으로써 프로젝트 전반에 끼치게 되는 긍정적인 효과를 알아보자. 테스트 커버리지테스트 커버리지가 높으면 안정적으로 리팩토링이 가능하기 때문에, 이상적으로는 테스트 커버리지를 100% 달성하는 것이 좋다.테스트 커버리지를 높히기..

https://docs.spring.io/spring-boot/api/java/org/springframework/boot/context/event/package-summary.html org.springframework.boot.context.event (Spring Boot 3.4.4 API)package org.springframework.boot.context.eventdocs.spring.io위 링크를 보면 org.springframework.boot.context.event 패키지의 클래스들의 spring docs를 확인할 수 있다.스프링이 기동되는 시점에 여러 이벤트가 발생하고 필요한 경우에는 해당 이벤트의 리스너를 구현할 수도 있다. 그렇다면 이벤트의 종류를 스프링의 코드를 기반으로 학습해..
여러가지 개발 서적을 접하다보면 단위 테스트의 필요성을 자주 강조하고 있다.그렇다면 여러 가지 종류의 테스트 중에서 단위 테스트는 무엇이며, 단위 테스트가 필요한 이유는 무엇일까? 테스트 유형단위 테스트통합 테스트시스템 테스트인수 테스트테스트의 범위가 작은 것 부터 위와 같이 테스트 유형을 분류할 수 있다. 단위 테스트단위 테스트는 소스 코드의 메서드나 클래스를 테스트하여 해당 코드가 정상 동작하는지 확인한다.따라서 좋은 단위 테스트가 작성되어 있을 때 코드를 변경하는 경우, 기존 코드에 대한 영향도를 쉽게 파악할 수 있다. 통합 테스트통합 테스트는 여러 개의 컴포넌트가 정상적으로 상호작용하는지 확인한다.예를 들어 객체 간의 협력, 외부 리소스와의 연동 등을 테스트한다. 시스템 테스트시스템 테스트는 시스..

이전 글: https://gojs.tistory.com/68 애그리거트 트랜잭션 관리하나의 애그리거트를 대상으로 동시에 다른 두 요청이 들어왔을 때 일관성이 깨질 수 있다. 만약 위의 그림과 같이 하나의 계좌에 대해 1,000원 출금/입금 거래가 동시에 들어왔다고 가정해보자.gojs.tistory.com 예를 들어 이체 성공 시 Push 알림을 받아야하는 요구사항을 구현해야한다고 생각해보자.가장 단순하고 쉽게 생각하면 아래와 같은 코드를 떠올릴 것이다.public class TransferService { public TransferResult transfer(String accountNumber, int amount) { Transfer transfer = Transfer.of(acc..