Junior — Middle
Сынақтар жазу кезінде сыртқы тәуелділіктерді қосу үшін қандай әдістерді қолданасыз?
sobes.tech AI
AI-дан жауап
Сыртқы тәуелділіктерге тест жазғанда әдетте келесі әдістер пайдаланылады:
-
Mock-объектілер — мысалы, Mockito немесе EasyMock кітапханалары арқылы тәуелділіктердің имитацияларын жасап, тестіленетін кодты оқшаулау.
-
Dependency Injection (DI) — тәуелділіктер тестіленетін классқа конструктор немесе сеттерлер арқылы беріледі, бұл моктарды немесе стабтарды қоюға мүмкіндік береді.
-
Тесттік конфигурацияларды пайдалану — мысалы, Spring Boot-та тесттер үшін арнайы конфигурациялар жасап, қажетті тәуелділіктерді қосуға болады.
-
Шынайы тәуелділіктермен интеграциялық тесттер — нақты сервистер немесе дерекқорлар қосылады, көбінесе тесттік контейнерлер (Testcontainers) арқылы.
Mockito мысалы:
@RunWith(MockitoJUnitRunner.class)
public class UserServiceTest {
@Mock
private UserRepository userRepository;
@InjectMocks
private UserService userService;
@Test
public void testGetUser() {
when(userRepository.findById(1L)).thenReturn(Optional.of(new User(1L, "John")));
User user = userService.getUser(1L);
assertEquals("John", user.getName());
}
}