본문 바로가기

분류 전체보기165

[Jacoco] 테스트 커버리지 확인 코드 커버리지(Code Coverage)는 소프트웨어의 테스트 수준이 충분한지를 표현하는 지표 중 하나 입니다. 커버리지를 확인하기 위한 도구 중 하나로 JaCoCo가 있습니다. JaCoCo는 Java Code Coverage의 약자로, JUnit 테스트를 통해 애플리케이션 코드가 얼마나 테스트 됐는지 Line과 Branch를 기준으로 한 커버리지로 리포트 합니다.JaCoCo는 런타임으로 테스트 케이스를 실행하고 커버리지를 체크하는 방식으로 동작하며, 리포트는 HTML, CSV, XML과 같은 다양한 형식으로 확인할 수 있습니다. 📍 JaCoCo 설정하기JDK 17, Springboot 3.5.3 버전 프로젝트에서 Jacoco를 설정하기 위해서는 build.gradle에 다음과 같이 플러그인을 추가해.. 2025. 8. 11.
[Spring Data JPA] JpaRepository getById() vs findById() 차이 Spring Data JPA를 사용하게 되면 JPA 인터페이스의 다양한 메서드를 사용하여 DB에 접근하게 됩니다.그 중 DB 내 개별 데이터를 조회하는 메서드 2개를 볼 수 있습니다. findById() 와 getById() 입니다. @NoRepositoryBeanpublic interface CrudRepository extends Repository { Optional findById(ID id);}@NoRepositoryBeanpublic interface JpaRepository extends ListCrudRepository, ListPagingAndSortingRepository, QueryByExampleExecutor { @Deprecated T getById(ID id);} 📌 .. 2025. 8. 10.
[테스트] Mock 테스트 시 given.willReturn 이 null 을 반환하는 문제 ‼️ No value at JSON path "$.number" 에러가 발생한 원인Springboot에서 Controller 슬라이스 테스트를 진행하기 위해 다음과 같이 테스트 코드를 작성하였습니다.package com.springboot.spring_jpa.controller;import com.google.gson.Gson;import com.springboot.spring_jpa.data.dto.ProductDto;import com.springboot.spring_jpa.data.dto.ProductResponseDto;import com.springboot.spring_jpa.service.impl.ProductServiceImpl;import org.junit.jupiter.api.Disabl.. 2025. 7. 11.
Disk Migration(Mirror LV) 디스크를 LVM 형태로 사용하다가 다른 디스크 또는 더 큰 용량의 디스크로 변경해야 할 때가 생깁니다. 이 때 기존 디스크에 올라가 있는 데이터가 손실 없이 마이그레이션 되어야 하며, 중단이 발생해서는 안됩니다.금번 테스트에서는 LV 유형 중 하나인 미러링 방식을 사용하여 데이터를 무중단으로 마이그레이션 하는 방법을 설명합니다. 테스트 환경Ubuntu 22.04 LTS4GB 데이터 디스크 2개8GB 데이터 디스크 1개 유의 사항옮기고자 하는 데이터 디스크의 용량이 기존 데이터 디스크 용량보다 같거나 커야 합니다. 그렇지 않으면 데이터가 손실될 수 있습니다. 기존 Linear LV(선형 LV) -> Mirror LV로 변경4GB 디스크 2개를 부착하여 사용하다가 8GB 디스크로 마이그레이션을 진행해 보.. 2025. 6. 19.
apt-mirror(Ubuntu Local Repository) 구축하기 보통 배포판 리눅스의 경우 서버에서 자주 사용되는 유용한 패키지들을 저장하는 중앙 저장소(Repository)가 존재합니다. 그리고 apt, dnf 와 같은 패키지 관리도구를 이용하여 중앙 저장소에서 필요한 소프트웨어들을 설치합니다.이 때 중앙 저장소는 온라인에 존재하기에 서버가 인터넷망과 접속되어 있지 않은 경우 해당 저장소에 접근이 불가합니다. 이와같이 보안적인 이유로 서버가 외부와 접속이 불가할 경우에도 패키지 관리도구를 이용하여 저장소에서 필요한 패키지를 설치할 수 있는 방법을 소개합니다. APT-Mirrorapt-mirror는 Ubuntu에서 운영하는 온라인 패키지 저장소를 로컬에 복사할 수 있도록 도와주는 툴 입니다. 해당 도구를 통해 내부망 서버에 APT Mirror Local Reposi.. 2025. 6. 19.
Ubuntu에서 APT(Advanced Package Tool) 이란? 대부분의 리눅스 사용자는 리눅스 배포판이나 커뮤니티에서 제공하는 소프트웨어 패키지를 설치할 때 패키지 관리도구를 사용합니다. 패키지 관리도구를 사용하면 소프트웨어 설치가 간편하고 패키지 간 의존성도 자동으로 관리되기에 편리합니다.일반적으로 리눅스 배포판 별로 패키지 관리도구가 다른데 주로 사용하는 리눅스의 패키지 관리도구는 아래와 같습니다.배포판 종류패키지 형식패키지 관리 도구Ubuntu/Debian.debapt / apt-get / dpkg(저수준 관리도구)RedHat/CentOS/Rocky.rpmdnf(신버전) / yum(구버전) / rpm(저수준 관리도구) APT(Advanced Package Tool) 이란?APT는 Advanced Package Tool의 약어로, 패키지를 설치, 업그레이드, .. 2025. 6. 18.