본문 바로가기
❤️‍🔥TIL (Today I Learned)

[TIL] 2023-01-26(62day) / Unit Test(1)

by elicho91 2023. 1. 27.

Unit Test(1)


👉 Given-When-Then 패턴

- Given : 테스트에 필요한 변수를 정의하거나 Mock 객체를 통해 특정 상황에 대한 행동을 정의.
- When: 실제 테스트를 하는 메소드가 호출되며 테스트를 통한 결과값을 가져온다.
- Then: When 단계에서 나온 결과값을 검증하는 작업을 수행.

 

👉 JUnit + Mockito

# JUnit : Java 에서 사용되는 대표적인 테스트 프레임워크.
# Mockito : Mock 객체를 쉽게 만들고, 관리하고, 검증할 수 있는 방법을 제공하는 프레임워크.

 

# Mockito에서 Mock(가짜) 객체의 의존성 주입을 위해 사용되는 3가지 어노테이션.

@Mock: Mock 객체를 만들어 반환해주는 어노테이션
@Spy: Stub하지 않은 메소드들은 원본 메소드 그대로 사용하는 어노테이션
@InjectMocks: @Mock 또는 @Spy로 생성된 가짜 객체를 자동으로 주입시켜주는 어노테이션

 

ex) UserController에 대한 단위 테스트를 작성하고자 할 때, UserService를 사용하고 있다면 @Mock 어노테이션을 통해 가짜 UserService를 만들고, @InjectMocks를 통해 UserController에 이를 주입 가능.

 

👉 JUnit의 생명 주기

- @BeforeAll : 테스트를 시작하기 전에 호출되는 메서드
- @BeforeEach : 각 테스트 메서드가 실행되기 전에 동작하는 메서드
- @AfterAll : 테스트를 종료하면서 호출되는 메서드
- @AfterEach : 각 테스트 메서드가 종료되면서 호출되는 메서드

댓글