HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Представим ситуацию, когда команда разработчиков работает над проектом, который использует реляционную базу данных, например PostgreSQL. В процессе разработки и тестирования у них может возникнуть несколько проблем:</p>
1 <p>Представим ситуацию, когда команда разработчиков работает над проектом, который использует реляционную базу данных, например PostgreSQL. В процессе разработки и тестирования у них может возникнуть несколько проблем:</p>
2 <ul><li>Несоответствие окружений. Разработчики могут использовать разные версии базы данных на своих локальных машинах, что приводит к проблемам с совместимостью и ошибкам, которые сложно воспроизвести. У одного разработчика может работать, а у другого - нет.</li>
2 <ul><li>Несоответствие окружений. Разработчики могут использовать разные версии базы данных на своих локальных машинах, что приводит к проблемам с совместимостью и ошибкам, которые сложно воспроизвести. У одного разработчика может работать, а у другого - нет.</li>
3 <li>Сложность настройки. Установка базы данных локально на свой компьютер и ее настройка ее может быть сложной и занимать много времени. Это может привести к тому, что тесты будут запускаться не регулярно или вообще игнорироваться.</li>
3 <li>Сложность настройки. Установка базы данных локально на свой компьютер и ее настройка ее может быть сложной и занимать много времени. Это может привести к тому, что тесты будут запускаться не регулярно или вообще игнорироваться.</li>
4 <li>Изоляция тестов. Тесты могут влиять друг на друга, если они используют одну и ту же базу данных, что может привести к ложным срабатываниям и затруднить отладку.</li>
4 <li>Изоляция тестов. Тесты могут влиять друг на друга, если они используют одну и ту же базу данных, что может привести к ложным срабатываниям и затруднить отладку.</li>
5 </ul><p>Для решения этих проблем существует библиотека TestContainers. Она предоставляет простой и удобный способ работы с Docker контейнерами в тестах</p>
5 </ul><p>Для решения этих проблем существует библиотека TestContainers. Она предоставляет простой и удобный способ работы с Docker контейнерами в тестах</p>
6 <p><strong>TestContainers</strong>- это библиотека для Java, которая позволяет разработчикам создавать и управлять Docker контейнерами прямо в коде тестов. Она особенно полезна для интеграционного тестирования, когда необходимо взаимодействовать с внешними сервисами, такими как базы данных или очереди сообщений.</p>
6 <p><strong>TestContainers</strong>- это библиотека для Java, которая позволяет разработчикам создавать и управлять Docker контейнерами прямо в коде тестов. Она особенно полезна для интеграционного тестирования, когда необходимо взаимодействовать с внешними сервисами, такими как базы данных или очереди сообщений.</p>
7 <p>TestContainers позволяет автоматически загружать, настраивать и запускать контейнеры в тестах. При помощи аннотаций можно создать контейнер с PostgreSQL, который будет автоматически запущен перед выполнением тестов и остановлен после их завершения. Это значительно экономит время и ресурсы</p>
7 <p>TestContainers позволяет автоматически загружать, настраивать и запускать контейнеры в тестах. При помощи аннотаций можно создать контейнер с PostgreSQL, который будет автоматически запущен перед выполнением тестов и остановлен после их завершения. Это значительно экономит время и ресурсы</p>
8 <p>Каждый тест в такой ситуации может запускать свой собственный контейнер с нужной версией базы данных. Это гарантирует, что все тесты у всех разработчиков выполняются в одинаковых условиях, что устраняет проблемы с несовместимостью.</p>
8 <p>Каждый тест в такой ситуации может запускать свой собственный контейнер с нужной версией базы данных. Это гарантирует, что все тесты у всех разработчиков выполняются в одинаковых условиях, что устраняет проблемы с несовместимостью.</p>
9 <p>Чтобы начать пользоваться библиотекой, нужно добавить зависимости в файл<em>build.gradle.kts</em></p>
9 <p>Чтобы начать пользоваться библиотекой, нужно добавить зависимости в файл<em>build.gradle.kts</em></p>
10 <p>Напишем простой тест для приложения, которое использует базу данных PostgreSQL, и на этом примере разберемся подобнее, как работать с TestContainers</p>
10 <p>Напишем простой тест для приложения, которое использует базу данных PostgreSQL, и на этом примере разберемся подобнее, как работать с TestContainers</p>
11  
11