Sobes.tech
Junior — Middle

Avez-vous effectué des tests automatisés sur des composants interagissant avec une base de données?

sobes.tech IA

Réponse de l'IA

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

  • Юнит-тесты с использованием моков или заглушек для имитации работы базы данных.
  • Интеграционные тесты с реальной или 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());
    }
}

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