Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Vue.js
- 교보생명
- 급성심근경색증
- 심장질환
- 가입
- 프론트엔드
- 파이썬
- 추가납입
- javascript
- 특약
- 문자열
- jQuery
- 보험료
- Java
- 보험
- 중도인출
- 수수료
- PythonProgramming
- 교보
- python
- 코딩
- 프로그래밍
- 인출수수료
- 리스트
- 웹개발
- 자바스크립트
- 뇌출혈
- 납입
- 변환
- 사망
Archives
- Today
- Total
SeouliteLab
[Java/자바] Mockito의 @Mock 애노테이션 본문
Mockito의 `@Mock` 애노테이션은 단위 테스트에서 가짜 객체(Mock 객체)를 생성할 때 사용됩니다. 이를 통해 외부 의존성을 가짜 객체로 대체하여 테스트의 격리성을 확보하고, 테스트를 더욱 간편하게 작성할 수 있습니다.
설정 및 예제 코드
Mockito를 사용하기 위해서는 먼저 Maven 또는 Gradle과 같은 의존성 관리 도구를 통해 Mockito 라이브러리를 프로젝트에 추가해야 합니다. 아래는 Maven을 사용하는 경우의 의존성 설정 예시입니다.
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.9.0</version>
<scope>test</scope>
</dependency>
이제 @Mock 애노테이션을 사용하여 테스트 클래스에서 Mock 객체를 생성할 수 있습니다. 아래 예제에서는 UserService 클래스를 테스트하며, UserService가 의존하는 UserRepository를 Mock 객체로 대체합니다.
import org.mockito.Mock;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.mockito.Mockito.when;
public class UserServiceTest {
@Mock
private UserRepository mockUserRepository;
private UserService userService;
@BeforeEach
public void setUp() {
mockUserRepository = Mockito.mock(UserRepository.class);
userService = new UserService(mockUserRepository);
}
@Test
public void testGetUserById() {
// Mock 객체의 동작 정의
when(mockUserRepository.findById(1L)).thenReturn(new User(1L, "John Doe"));
// 테스트 수행
User user = userService.getUserById(1L);
// 검증
assertNotNull(user);
assertEquals("John Doe", user.getName());
}
}
출력 결과
// Mock 객체의 findById 메서드 호출에 대한 동작 정의
when(mockUserRepository.findById(1L)).thenReturn(new User(1L, "John Doe"));
// 테스트 수행
User user = userService.getUserById(1L);
// 검증
assertNotNull(user);
assertEquals("John Doe", user.getName());
'프로그래밍' 카테고리의 다른 글
[Vue] reactive 에서 배열 타입 지정하기 (0) | 2024.03.20 |
---|---|
톰캣(Tomcat)과 커넥션풀(DBCP)을 이용한 데이터베이스 연결 설정하기 (0) | 2024.03.20 |
[Java/자바] Mockito를 활용한 단위 테스트 (0) | 2024.03.20 |
[Java/자바] Generics(제네릭) 이해하기 (0) | 2024.03.20 |
Java에서 BufferedReader와 BufferedWriter 사용하기 (0) | 2024.03.20 |