Sobes.tech
Back to questions
Junior — Middle
94

Проводил ли ты автоматизированное тестирование компонентов, взаимодействующих с базой данных?

Companies where asked
СБЕРСБЕР

Answer from AI

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());
    }
}

Такой подход позволяет убедиться, что компоненты корректно работают с базой данных.