Sobes.tech
Junior — Middle

Realizaste testes automatizados de componentes que interagem com bancos de dados?

sobes.tech IA

Resposta da IA

Sim, os testes automatizados de componentes que interagem com bases de dados geralmente incluem:

  • Testes unitários usando mocks ou stubs para simular o funcionamento da base de dados.
  • Testes de integração com uma base de dados real ou em memória (por exemplo, H2 para Java) para verificar a correção de consultas e transações.

Exemplo de uso do H2 para testar DAO em 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());
    }
}

Este método permite garantir que os componentes funcionam corretamente com a base de dados.