Sobes.tech
Back to questions
Junior — Middle
66

Использовал ли ты подключение базы данных в своих модульных тестах?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

В модульных тестах обычно стараются избегать реального подключения к базе данных, чтобы тесты были быстрыми и изолированными. Вместо этого используют мок-объекты или in-memory базы данных, например H2 для Java. Однако, если нужно проверить интеграцию с базой, можно использовать тестовую базу или контейнеры с базой (например, Testcontainers).

Пример использования H2 в тестах на Java с Spring Boot:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.ANY)
public class UserRepositoryTest {

    @Autowired
    private UserRepository userRepository;

    @Test
    public void testSaveAndFind() {
        User user = new User("testuser");
        userRepository.save(user);
        User found = userRepository.findByName("testuser");
        assertNotNull(found);
    }
}

Таким образом, подключение к базе в модульных тестах возможно, но чаще используют изолированные или in-memory решения.