본문 바로가기

내일배움캠프 4기 스프링/내배캠 TIL📘

01. 27 TIL

728x90

1. 코딩 테스트 입문

0단계 60개 해결!

 

약수 구하기

새로 알게된 기능

IntStream : rangeColsed

IntStream.rangeClosed(1, n).filter(i -> n % i == 0).toArray();

 

2. 테스트 코드 강의 및 실습

인프런 - 김영한 스프링 입문 강의를 통한 복습

- 레포지토리 테스트 케이스 작성 및 구동 실습

// 인텔리제이 : 반환 타입 확인 및 변수 자동 생성 : Ctrl + Alt + V
// static import : Alt + Enter
// Ctrl + R : 이전에 실행한 것을 다시 실행

*모든 테스트 메서드는 순서와 상관없이 잘 작동해야한다(서로 간 순서에 의존성이 없어야 한다)

-> 테스트가 끝나고 나면 Clear를 해야한다 : @AfterEach 클리어 매소드 작성할 것 ~ 테스트 코드, 본 코드 모두

 

+static import

테스트의 핵심에 예외처리가 잘 실행되는 지 확인하는 것도 포함된다

*필드로 사용하기 위해 동일한 클래스 타입의 객체를 각 테스트 등에서 매번 생성하는 것은 서로 다른 객체를 사용하는 것!

~ 값이 달라질 수도 있다

-> 그 클래스의 객체를 선언하고 초기화하여 쓰는 것이 DI, IoC.

 

PostRequestDto의 접근 제어자가 public 인데 접근할 수 없다고 하는 오류 -> 기본 생성자를 생성해주자

@Builder 패턴이 걸려있는 경우 @AllArgsConstructor 와 @NoArgsConstructor를 모두 붙여주자

 

참고

https://stackoverflow.com/questions/17353327/populating-spring-value-during-unit-test

 

Populating Spring @Value during Unit Test

I'm trying to write a Unit Test for a simple bean that's used in my program to validate forms. The bean is annotated with @Component and has a class variable that is initialized using @Value("${t...

stackoverflow.com

https://kkambi.tistory.com/210

 

Mock 테스트에서 Spring 프로퍼티를 읽어올 수 없던 문제

문제상황 // 서비스 클래스 @RequiredArgsConstructor @Service public class AdminService { @Value("${spring.profiles.active}") private String activeEnv; // ...서비스 로직 } // 테스트 클래스 @ExtendWith(MockitoExtension.class) class AdminS

kkambi.tistory.com

3. 스프링 구동과정 복습

인프런 - 김영한 스프링 입문 강의를 통한 복습

1) 컴포넌트 스캔과 자동 의존관계 설정

@Component를 가지고 있는 클래스를 Bean 자동 등록

 

2) 자바 코드로 직접 스프링 빈 등록하기

@Service, @Repository가 아닌 @Configuration이 붙어있는 SpringConfig 클래스에서 각 클래스의 객체를 생성하고 @Bean 어노테이션을 붙여준다 

 

1번과 2번의 장단점

@Autowired는 1번 혹은 2번, 어떤 것이든 Bean으로 등록된 후(스프링 컨테이너에 등록)에 그 기능이 동작한다

 

참고

Baeldung 블로그로 스프링 배우기

https://www.baeldung.com/

 

728x90

'내일배움캠프 4기 스프링 > 내배캠 TIL📘' 카테고리의 다른 글

01. 31 TIL  (0) 2023.01.31
01. 30 TIL  (0) 2023.01.30
01. 26 TIL  (0) 2023.01.26
01. 25 TIL  (1) 2023.01.25
01. 23 심화 프로젝트/ 시퀀스 다이어그램 그리기  (0) 2023.01.23