Given - When - Then
Given 자원할당 테스트를 위한 세팅 anyLong
When 테스트 유닛 실행
Then 결과 검증 assert..., verify
Junit5
Java 언어에서 사용되는 단위 테스트 프레임워크
Dependency
'org.springframework.boot:spring-boot-starter-test'
Simple Sum Test
public class BasicTest {
@Test
@DisplayName("더하기 테스트")
public void calTest() {
// given
int a = 1;
int b = 3;
// when
int sum = a + b;
// then
// 두 값이 같다
assertEquals(4, sum);
}
}
@Mock
테스트를 위한 가짜 객체
@InjectMocks
Movk 객체를 주입하여 실제 객체의 의존성을 자동으로 설정함 mock이 아닌 실제 객체
테스트하려는 실제 객체를 생성하고, 그 객체의 의존성들만 mocking된 객체로 대체하는 것
Mockito
mock객체를 만들고 관리하고 검증할 수 있는 방법을 제공하는 프레임워크
@SpringBootTest와 다르게 별도 환경, 구성에 대한 제약 사항이 없기 때문에 매우 빠르게 동작
Unit Test
Unit (함수, Method) 애플리케이션에서 가장 작은 테스트 가능 요소
FIRST원칙
- Fast 유닛 테스트는 빨라야함
- Isolated 테스트는 독립적으로 실행해야함
- Repeatable 환경에 상관없이 실행할 때마다 같은 결과를 만들어야함
- Self-Validating 명확히 성공/실패로 구분하여 자체로 결과를 검증할 수 있어야함
- Timely 개발간에 즉시 작성해야함 "TDD방법론"
'면접준비' 카테고리의 다른 글
객체지향 프로그래밍의 네가지 특징 : 추상화 상속 다형성 캡슐화 (1) | 2024.09.20 |
---|---|
AOP 특강 (0) | 2024.09.11 |
예외처리와 공통응답 (0) | 2024.09.09 |
면접 피드백, 추가 공부할 것 정리 (0) | 2024.08.30 |
면접 준비 (0) | 2024.08.26 |