Назад к вопросам
СБЕР
Junior — Middle
93
Проводил ли ты автоматизированное тестирование компонентов, взаимодействующих с базой данных?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Да, автоматизированное тестирование компонентов, взаимодействующих с базой данных, обычно включает:
- Юнит-тесты с использованием моков или заглушек для имитации работы базы данных.
- Интеграционные тесты с реальной или in-memory базой данных (например, H2 для Java), чтобы проверить корректность запросов и транзакций.
Пример использования H2 для тестирования DAO в Java:
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.ANY)
public class UserRepositoryTest {
@Autowired
private UserRepository userRepository;
@Test
public void testFindByUsername() {
User user = new User("testuser", "password");
userRepository.save(user);
User found = userRepository.findByUsername("testuser");
assertNotNull(found);
assertEquals("testuser", found.getUsername());
}
}
Такой подход позволяет убедиться, что компоненты корректно работают с базой данных.