목록2024/07/19 (4)
자바칩
@MockBean은 Spring의 테스트 컨텍스트에서 목(mock) 객체를 정의하기 위해 사용됩니다. @MockBean을 사용하면 Spring의 애플리케이션 컨텍스트에 목 객체를 등록하여, 해당 목 객체를 실제 애플리케이션 빈 대신 사용하게 할 수 있습니다. 이는 주로 통합 테스트 또는 웹 계층 테스트에서 사용됩니다.@MockBean의 역할목적: Spring 애플리케이션 컨텍스트에 목 객체를 등록하여, 해당 목 객체를 테스트에서 사용하도록 합니다.사용 위치: 주로 Spring의 컨트롤러, 서비스, 리포지토리 등을 테스트할 때, 해당 객체의 의존성을 목 객체로 대체하기 위해 사용됩니다.기능: @MockBean으로 정의된 객체는 Spring 컨텍스트에서 실제 빈 대신 사용되며, 이로 인해 실제 데이터베이스나..
@RunWith(MockitoJUnitRunner.class)JUnit5부터는 @RunWith 대신 @ExtendWith 사용목적: Mockito를 사용하여 단위 테스트를 수행하기 위해 사용됩니다.기능: MockitoJUnitRunner는 Mockito 어노테이션(@Mock, @InjectMocks)을 처리하고, 테스트 클래스에서 목(mock) 객체를 생성하고 주입하는 기능을 제공합니다.사용 위치: 보통 서비스 클래스나 리포지토리 클래스와 같은 비즈니스 로직을 테스트할 때 사용합니다. @RunWith(MockitoJUnitRunner.class) public class UserServiceTest { @InjectMocks private UserService user..
@InjectMocks와 @Mock 어노테이션의 사용은 각기 다른 목적을 가지고 있습니다. 이를 통해 단위 테스트에서 객체 간의 의존성을 효과적으로 관리하고, 테스트 대상 객체와 그 의존 객체를 올바르게 설정할 수 있습니다.@Mock역할: 특정 클래스의 목(mock) 객체를 생성합니다.사용 위치: 테스트에서 사용되는 의존 객체에 대해 사용됩니다.목적: 목 객체를 통해 실제 객체의 동작을 시뮬레이션하고, 특정 메서드 호출에 대해 정의된 동작을 수행하도록 합니다. @Mock private UserRepository userRepository; @Mock private PasswordEncoder passwordEncoder; 위 예시에서는 UserRepository와 Password..
난이도: Gold 5문제: https://www.acmicpc.net/problem/1759 문제바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다.새 보안 시스템에서 조교들이 ..