울음참고 개발공부
article thumbnail
org.springframework.transaction.annotation.Transactional;
Backend/Spring & Spring Boot 2023. 4. 25. 20:54

2023.04.25 - [TIL] - Spring | 단위 테스트 vs 통합 테스트 Spring | 단위 테스트 vs 통합 테스트 단위 테스트 [ 정의 ] 단위 테스트는 앱의 작은 단위(일반적으로 메서드)를 사용하여 코드의 나머지 부분에서 격리하고 예상대로 작동하는지 확인한다. 스프링 컨테이너 없이 하는 순수한 테스 megak.tistory.com 이번 포스트는, 통합 테스트를 진행하던 중 발생한 오류를 해결하는 과정이다. [ 문제 상황 ] 통합테스트 구현을 위해 다음과 같이 @Transactional 어노테이션을 사용하고 싶은데, import 할 수 없는 상황이다. 왜 일까? [ 이유 ] 먼저, 해당어노테이션에 대해 알아보자 @Transactional 트렌젝션에 해당 어노테이션이 있으면, 테스트 시작전..

단위 테스트 vs 통합 테스트
Backend/Spring & Spring Boot 2023. 4. 25. 19:52

단위 테스트 [ 정의 ] 단위 테스트는 앱의 작은 단위(일반적으로 메서드)를 사용하여 코드의 나머지 부분에서 격리하고 예상대로 작동하는지 확인한다. 스프링 컨테이너 없이 하는 순수한 테스트라고 할 수도 있다. [ 예시 ] 회원가입을 위한 테스르를 예시로 살펴보자 class MemberServiceIntegrationTest { MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach public void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberServ..

Java | 추상클래스 vs 인터페이스
Backend/Java 2023. 4. 23. 20:39

추상클래스(Abstract class) 미완성 설계도 추상 메서드를 선언하여 상속을 통해 자손 클래스에서 완성하도록 유도하는 클래스 [ 특징 ] 추상 메서드를 하나 이상 포함하고 있다. 추상 클래스는 추상 메서드 뿐만 아니라 생성자,필드,일반 메서드도 포함할 수 있다. 상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없다. 다중상속이 불가능하다. [ 예시 ] public abstract class Computer { public abstract void display(); public abstract void typing(); public void turnOff() { system.out.println("전원 off"); } } Computer 라는 추상 클래스 내에는 추상 메서드 display()..

Java | extends, implements
Backend/Java 2023. 4. 23. 20:38

extends 일반 클래스와 abstract 클래스 상속에 사용 부모의 메서드를 그대로 사용할 수 있으며 오버라이딩 할 필요 없이 부모에 구현되어 있는 것을 직접 사용 가능 implements interface 상속에 사용 부모 객체는 선언만 하며 정의(내용)은 자식에서 오버라이딩(재정의)하여 사용해야함

Java | 생성자 new
Backend/Java 2023. 4. 23. 18:28

생성자 [ 사용 예시 ] 클래스 객체 변수 = new 클래스(); [ 역할 ] 클래스 타입의 인스턴스(객체) 생성 객체를 생성할 때, new 키워드와 함께 사용 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출됨 반환 값이 없고, 생성자 이름은 클래스 이름과 동일함 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private 로 선언되는 경우도 있음 new 선언하면 인스턴스가 생성되고 메모리에 할당됨 [ 출처 ] https://blog.naver.com/obndo8539/222892728269 생성자, 예약어 this, get()함수,set()함수 생성자 객체를 생성할 때, new 키워드와 함께 사용 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생... ..