오늘 할 일
- 테코톡 편집
- 그래프
- @ContextConfiguration
- @Import
- prolog 작성


@Import


자바 기반 설정 파일에서 다른 설정 클래스를 가져오는 데 사용한다. 주로 @Confiugration 선언된 설정 클래스에서 사용한다. @Import는 설정 클래스 간에 설정 정보를 공유하고 빈 정의와 설정을 병합하는 데 사용다.


@ContextConfiguration



테스트 시 스프링의 애플리케이션 컨텍스트를 설정을 정의하는 데 사용한다. 테스트시 필요한 설정 파일이나 설정 클래스를 지정할 수 있다.

@InjectMocks



테스트 대상 클래스의 의존성을 자동으로 Mock 객체로 주입하여 테스트를 진행하도록 함. 이를 통해 테스트 클래스의 동작을 격리시키고, 테스트를 간편하게 수행한다.
클래스에서 생성한 @Mock객체들이 주입되며 실제 객체가 필요할 경우 실제 객체를@Spy로 선언하여 필요한 메서드만 스터빙 하고 나머지는 실제 객체의 동작을 하도록 할 수 있다.


@SpringBootTest



4가지의 webEnvironment 옵션이 있다.

  1. MOCK(Default) : ApplicationContext를 생성하여 모든 설정과 빈을 로드한다. 하지만 실제 서블릿 컨테이너 대신에 Mock Servlet 환경을 제공한다. 이 Mock Servlet 환경을 설정하고 사용하기 위해 `@AutoConfigureMockMvc`  또는 @AutoConfigureWebTestClient 를 사용한다.
  2.  RANDOM_PORT : 웹 ApplicationContext를 생성하고 실제 웹 환경을 제공한다. embedded server가 실행되며 random port에서 수신 대기한다. 전체 통합테스트에 사용함.
  3. DEFINED_PORT : 랜덤포트와 다 같으나 포트가 8080로 기본 설정되어 있음.
  4. NONE : `SpringApplication` 을 사용한 `ApplicationContext` 를 생성하기는 하나 어느 웹 환경도 제공하지 않음(mock 또는 다른)

'회고 > 우아한테크코스' 카테고리의 다른 글

2023.05.23 일일 회고  (0) 2023.05.24
2023.05.18 일일 회고  (0) 2023.05.19
[레벨 2] 웹 자동차 경주 미션 회고  (0) 2023.05.08
2023.05.06 일일 회고  (0) 2023.05.07
2023.05.04 일일 회고  (0) 2023.05.05

+ Recent posts