본문 바로가기

Spring25

JUnit 단위 테스트 라이프사이클 JUnit 단위 테스트의 라이프사이클은 테스트 메서드가 실행되기 전후에 수행되는 여러 단계로 구성됩니다. JUnit 5를 기준으로 단위 테스트의 라이프사이클을 설명하겠습니다. JUnit 5는 이전 버전인 JUnit 4와 비교하여 더 많은 기능과 유연성을 제공합니다.JUnit 단위 테스트 라이프사이클테스트 클래스 초기화 (@BeforeAll)각 테스트 메서드 실행 전 초기화 (@BeforeEach)테스트 메서드 실행 (@Test)각 테스트 메서드 실행 후 정리 (@AfterEach)테스트 클래스 종료 (@AfterAll)이러한 라이프사이클 메서드는 테스트 클래스 및 메서드의 실행 순서와 상태 관리를 돕습니다.어노테이션 설명@BeforeAll: 모든 테스트 메서드가 실행되기 전에 한 번 실행됩니다. 이 메서.. 2024. 8. 7.
어썰션(Assertion)과 어썰트(Assert) 어썰션(Assertion)과 어썰트(Assert)는 소프트웨어 테스트 및 디버깅에서 매우 중요한 개념입니다. 이 용어들은 주로 단위 테스트에서 사용되며, 코드를 검증하고 예상된 결과를 확인하는 데 사용됩니다.어썰션(Assertion)어썰션은 프로그램이 실행되는 동안 특정 조건이 참(true)임을 보장하는 방법입니다. 이는 디버깅 과정에서 사용되며, 예상하지 못한 상황이나 오류가 발생하지 않도록 도와줍니다. 주로 개발 중에 사용되며, 특정 조건이 참이 아니면 프로그램 실행을 중단하고 오류 메시지를 출력합니다.자바에서의 어썰션 사용 예public class AssertionExample { public static void main(String[] args) { int value = 5; .. 2024. 8. 7.
IoC(Inversion of Control) 컨테이너 IoC(Inversion of Control) 컨테이너는 객체의 생성, 구성, 생명주기 관리, 의존성 주입 등을 책임지는 프레임워크입니다. IoC 컨테이너는 애플리케이션의 구성 요소들을 관리하여 코드의 결합도를 낮추고 유연성을 높입니다. 스프링 프레임워크에서 IoC 컨테이너는 애플리케이션의 핵심 구성 요소로, 다양한 빈(Bean)들을 관리합니다.IoC 컨테이너의 주요 역할객체 생성 및 관리:빈을 정의하고, 이를 생성 및 관리합니다.의존성 주입:빈 간의 의존성을 주입하여 결합도를 낮추고, 코드의 유연성을 높입니다.생명주기 관리:빈의 생명주기를 관리하여 애플리케이션의 자원을 효율적으로 사용합니다.스프링 IoC 컨테이너스프링 프레임워크에서 IoC 컨테이너는 ApplicationContext와 BeanFacto.. 2024. 8. 6.
SOLID(객체 지향 설계 원칙) http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod ArticleS.UncleBob.PrinciplesOfOodThe Principles of OOD What is object oriented design? What is it all about? What are it's benefits? What are it's costs? It may seem silly to ask these questions in a day and age when virtually every software developer is using an object oriented languagebutunclebob.comSOLID는 객체 지향 프로그래밍에서의 다섯 가지 원칙을 의미합니다... 2024. 8. 5.
OCP(Open-Closed Principle, 개방-폐쇄 원칙) OCP(Open-Closed Principle, 개방-폐쇄 원칙)은 객체 지향 프로그래밍의 SOLID 원칙 중 하나로, 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다는 원칙을 의미합니다. 즉, 기존 코드를 수정하지 않고 새로운 기능을 추가할 수 있도록 설계해야 한다는 것입니다. OCP의 주요 개념확장에 열려 있어야 한다(Open for extension): 새로운 기능이나 요구사항이 생길 때, 기존 코드를 변경하지 않고 확장할 수 있어야 합니다.변경에 닫혀 있어야 한다(Closed for modification): 기존의 잘 작동하는 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다. 이를 통해 기존 기능의 안정성을 유지할 수 있습니다.O.. 2024. 8. 5.
POJO(Plain Old Java Object) POJOPOJO(Plain Old Java Object)는 특별한 규약이나 상속 없이 순수하게 자바 언어만으로 작성된 객체를 의미합니다. 이는 특정 프레임워크나 라이브러리에 종속되지 않고, 자바 객체 본연의 형태를 유지하는 것을 강조합니다. POJO는 다음과 같은 특징을 가지고 있습니다:간단성: POJO는 복잡한 프레임워크 인터페이스나 클래스를 상속받지 않습니다. 대신, 표준 자바 클래스로서 필요한 필드, 메서드(게터와 세터 포함)를 가지며, 다른 일반 자바 객체처럼 작동합니다.재사용 가능성과 테스트 용이성: POJO는 의존성이 적기 때문에 다른 환경에서 재사용하기 쉽고, 단위 테스트하기에도 간편합니다.투명성: POJO는 특정 프로토콜이나 환경에 종속되지 않기 때문에 코드의 명확성과 이해하기 쉬움을 제공.. 2024. 8. 5.