home.social

#testcontainers — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #testcontainers, aggregated by home.social.

  1. #testcontainers for #dotnet 4.12.0 is out 🐳 This release ships a major version bump of our forked Docker.DotNet client, bringing a bunch of improvements made over the past months. Fingers crossed it's all smooth sailing for you 🤞: github.com/testcontainers/test.

  2. Blog - Shared Postgres Test Container with Expecto in FSharp

    I’m learning FSharp by creating a web application. I’ve cycled through lots of different ways of doing things, libraries, etc. Today I finally got my integration tests to use a single docker test contaner with the Expecto test framework. I couldn’t find a good example online of how to do it, so I’m sharing it here.

  3. Blog - Shared Postgres Test Container with Expecto in FSharp

    I’m learning FSharp by creating a web application. I’ve cycled through lots of different ways of doing things, libraries, etc. Today I finally got my integration tests to use a single docker test contaner with the Expecto test framework. I couldn’t find a good example online of how to do it, so I’m sharing it here.

  4. Blog - Shared Postgres Test Container with Expecto in FSharp

    I’m learning FSharp by creating a web application. I’ve cycled through lots of different ways of doing things, libraries, etc. Today I finally got my integration tests to use a single docker test contaner with the Expecto test framework. I couldn’t find a good example online of how to do it, so I’m sharing it here.

  5. Blog - Shared Postgres Test Container with Expecto in FSharp

    I’m learning FSharp by creating a web application. I’ve cycled through lots of different ways of doing things, libraries, etc. Today I finally got my integration tests to use a single docker test contaner with the Expecto test framework. I couldn’t find a good example online of how to do it, so I’m sharing it here.

  6. Почему Python стал главным помощником Java‑команд

    Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD в Java‑проектах. Как получилось, что даже консервативные Java‑разработчики всё чаще пишут интеграционные тесты на pytest, запускают контейнеры с Testcontainers и рулят пайплайнами в GitHub Actions с помощью Python‑скриптов? В этой статье разбираем три реальные причины популярности Python. Если вы до сих пор считаете, что Python не для вас — возможно, это изменит ваш взгляд на инструменты.

    habr.com/ru/companies/otus/art

    #Java #Python #backendразработка #интеграционное_тестирование #микросервисы #pytest #автоматизация_тестирования #testcontainers #OpenAPI

  7. Почему Python стал главным помощником Java‑команд

    Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD в Java‑проектах. Как получилось, что даже консервативные Java‑разработчики всё чаще пишут интеграционные тесты на pytest, запускают контейнеры с Testcontainers и рулят пайплайнами в GitHub Actions с помощью Python‑скриптов? В этой статье разбираем три реальные причины популярности Python. Если вы до сих пор считаете, что Python не для вас — возможно, это изменит ваш взгляд на инструменты.

    habr.com/ru/companies/otus/art

    #Java #Python #backendразработка #интеграционное_тестирование #микросервисы #pytest #автоматизация_тестирования #testcontainers #OpenAPI

  8. Почему Python стал главным помощником Java‑команд

    Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD в Java‑проектах. Как получилось, что даже консервативные Java‑разработчики всё чаще пишут интеграционные тесты на pytest, запускают контейнеры с Testcontainers и рулят пайплайнами в GitHub Actions с помощью Python‑скриптов? В этой статье разбираем три реальные причины популярности Python. Если вы до сих пор считаете, что Python не для вас — возможно, это изменит ваш взгляд на инструменты.

    habr.com/ru/companies/otus/art

    #Java #Python #backendразработка #интеграционное_тестирование #микросервисы #pytest #автоматизация_тестирования #testcontainers #OpenAPI

  9. Почему Python стал главным помощником Java‑команд

    Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD в Java‑проектах. Как получилось, что даже консервативные Java‑разработчики всё чаще пишут интеграционные тесты на pytest, запускают контейнеры с Testcontainers и рулят пайплайнами в GitHub Actions с помощью Python‑скриптов? В этой статье разбираем три реальные причины популярности Python. Если вы до сих пор считаете, что Python не для вас — возможно, это изменит ваш взгляд на инструменты.

    habr.com/ru/companies/otus/art

    #Java #Python #backendразработка #интеграционное_тестирование #микросервисы #pytest #автоматизация_тестирования #testcontainers #OpenAPI

  10. 📣 Happy to announce testcontainers-git 0.15.0 🥳

    🚀 Features
    - feat: add gitea support (#274)

    🧰 Maintenance
    - Add dependency analyzing during build (#291)
    - Enable Enforce Rules (#290)

    📦️ Dependencies
    Many dependency updates

    Full release notes: github.com/sparsick/testcontai

    #java #git #gitea #forgejo #testcontainers

  11. I'm a happy user of Testcontainers for quite some time.

    On my private Linux laptop I decided to switch to podmam. Starting containers works quite nice. But not with Testcontainers with python.

    Anyone got this to work?

    #podman #testcontainers #python

  12. Did a thing to make #testing against a #redis cluster in #golang a bit easier for myself, but maybe it's useful for others, too. github.com/erkattak/tes... This is a module for #testcontainers that forms a Redis cluster and gives an API to stop/pause/restart nodes in a targeted way.

    GitHub - erkattak/testcontaine...

  13. The new #testcontainers for #dotnet release has arrived: github.com/testcontainers/test. Version 4.11 comes with new modules, bug fixes, and improvements, plus OpenSSF Scorecard analyses for extra trustworthiness. I've also got an update ready for the Docker.DotNet client, which in the next release will bring performance improvements, better resource usage, lots of fixes, and support for .NET's native HTTP handler 💪.

  14. 📣 Happy to announce testcontainers-git 0.14.0 🥳

    🚀 Features
    - Add support for Forgejo

    🧰 Maintenance
    - chore(analyze): enable modernizer analyze
    - chore(analyze): enable spotbugs analyze
    - Add spotless-maven-plugin

    📦️ Dependencies
    Many dependency updates

    Full release notes: github.com/sparsick/testcontai

    #testcontainers #git #java #oss #forgejo

  15. Как ускорить тесты проекта в 6 раз: от 10 минут к 101 секунде

    Почти 800 тестов, 10 минут на прогон, каждый пуш — ожидание на CI. Знакомо? Рассказываю, как довёл время до 101 секунды: снижение таймаутов, параллелизм ScalaTest, shared Testcontainers и защита от регрессий. Scala, SBT, PostgreSQL, GraalVM — конкретные шаги и подводные камни.

    habr.com/ru/articles/1003592/

    #scala #scalatest #testcontainers #postgresql #тестирование #оптимизация #параллелизм #sbt #graalvm #hikaricp

  16. Excited for #JCON EUROPE 2026? See Marvin Rensing at #JCON2026 in Cologne talking about 'Scaling #Integration Tests: Parallel #Spring Tests with #JUnit & #Testcontainers'

    Integration tests can quickly become slow, especially when every …

    🎟️ 2026.europe.jcon.one/tickets
    Free for #JUG members

  17. I've just released firebird-testcontainers-java 2.0.0, a library to easily start/stop and access a Firebird Docker container in a Java unit or integration test.

    For more information, see github.com/FirebirdSQL/firebir

    #Firebird #Java #JDBC #testcontainers

  18. Still guessing why your tests are slow? With TCI on #Testcontainers, you get named containers, test stats & trace data out of the box. Alexander Bierler shows how to turn blind spots into metrics.

    Read #JAVAPRO: javapro.io/2025/10/10/supercru

    #CI #DevOps #Java #Frameworks #OpenSource

  19. I've put together a few slides for future #testcontainers for #dotnet talks. If you're interested in discussing #testcontainers, let me know. Feedback on the slides is welcome as well: andrehofmeister.com/en/testcon.

  20. 🧪 As introduced in our Developing with Testcontainers guide, you can embed Microcks directly into your unit tests using Testcontainers.

    We now offer feature parity across all Testcontainers modules for Java, NodeJS/TypeScript, Golang, and .NET 🎉 You can even use the Google Pub/Sub emulator locally.

    Consistent mocking & testing across languages 🚀

    #opensource #Microcks #Testcontainers #APIs #CloudNative #DevTools

  21. 🧪 As introduced in our Developing with Testcontainers guide, you can embed Microcks directly into your unit tests using Testcontainers.

    We now offer feature parity across all Testcontainers modules for Java, NodeJS/TypeScript, Golang, and .NET 🎉 You can even use the Google Pub/Sub emulator locally.

    Consistent mocking & testing across languages 🚀

    #opensource #Microcks #Testcontainers #APIs #CloudNative #DevTools

  22. 🧪 As introduced in our Developing with Testcontainers guide, you can embed Microcks directly into your unit tests using Testcontainers.

    We now offer feature parity across all Testcontainers modules for Java, NodeJS/TypeScript, Golang, and .NET 🎉 You can even use the Google Pub/Sub emulator locally.

    Consistent mocking & testing across languages 🚀

    #opensource #Microcks #Testcontainers #APIs #CloudNative #DevTools

  23. 🧪 As introduced in our Developing with Testcontainers guide, you can embed Microcks directly into your unit tests using Testcontainers.

    We now offer feature parity across all Testcontainers modules for Java, NodeJS/TypeScript, Golang, and .NET 🎉 You can even use the Google Pub/Sub emulator locally.

    Consistent mocking & testing across languages 🚀

    #opensource #Microcks #Testcontainers #APIs #CloudNative #DevTools

  24. Как перестать писать WHERE tenant_id и отдать безопасность базе (PostgreSQL RLS в Go)?

    В одном из прошлых проектов случился «кошмар техлида»: в суматохе хотфикса было забыто добавление фильтра WHERE tenant_id = ? в одну из ручек API. В итоге один клиент увидел отчеты другого. Все быстро откатили, но я навсегда запомнил то холодное чувство в животе. Когда начали проектировать архитектуру следующего проекта, я понял, что полагаться на внимательность разработчиков на код-ревью - это тупик. Рано или поздно кто-то устанет, ошибется, и данные снова протекут. Искал способ гарантировать изоляцию данных так, чтобы ее физически нельзя было забыть. Почему стандартные решения не подошли? Перебрал классическую тройку вариантов, и у каждого нашлись фатальные минусы для задачи: 1. Логическая изоляция (WHERE в коде)? Как это работает: Тысячи строк кода, и в каждом запросе ты обязан помнить про tenant_id . Проблема: Человеческий фактор. Это бомба замедленного действия. 2. Схема на клиента (Schema-per-tenant) Как это работает: У каждого клиента своя схема ( schema_01 , schema_02 ...). Проблема: Это работает, пока клиентов 100. Когда их становится 10 000, база начинает задыхаться. Детали: Проблема даже не в миграциях, а в файловой системе. 10 000 клиентов × 50 таблиц = 500 000 файлов. Postgres (и Linux) сходят с ума от такого количества открытых дескрипторов, а VACUUM превращается в ад. 3. Отдельная БД на клиента Как это работает: Полная физическая изоляция. Проблема: Ценник на инфраструктуру. Держать тысячи коннектов или инстансов RDS - экономическое самоубийство для стартапа. Тогда посмотрел в сторону PostgreSQL Row Level Security (RLS) . Честно говоря, поначалу было страшно. Отдавать логику безопасности "черному ящику" внутри БД казалось рискованным. Плюс, все вокруг пугали: "RLS убьет производительность".

    habr.com/ru/articles/987364/

    #Golang #PostgreSQL #RLS #Multitenancy #Backend #Testcontainers #Database_Security #Архитектура

  25. Как перестать писать WHERE tenant_id и отдать безопасность базе (PostgreSQL RLS в Go)?

    В одном из прошлых проектов случился «кошмар техлида»: в суматохе хотфикса было забыто добавление фильтра WHERE tenant_id = ? в одну из ручек API. В итоге один клиент увидел отчеты другого. Все быстро откатили, но я навсегда запомнил то холодное чувство в животе. Когда начали проектировать архитектуру следующего проекта, я понял, что полагаться на внимательность разработчиков на код-ревью - это тупик. Рано или поздно кто-то устанет, ошибется, и данные снова протекут. Искал способ гарантировать изоляцию данных так, чтобы ее физически нельзя было забыть. Почему стандартные решения не подошли? Перебрал классическую тройку вариантов, и у каждого нашлись фатальные минусы для задачи: 1. Логическая изоляция (WHERE в коде)? Как это работает: Тысячи строк кода, и в каждом запросе ты обязан помнить про tenant_id . Проблема: Человеческий фактор. Это бомба замедленного действия. 2. Схема на клиента (Schema-per-tenant) Как это работает: У каждого клиента своя схема ( schema_01 , schema_02 ...). Проблема: Это работает, пока клиентов 100. Когда их становится 10 000, база начинает задыхаться. Детали: Проблема даже не в миграциях, а в файловой системе. 10 000 клиентов × 50 таблиц = 500 000 файлов. Postgres (и Linux) сходят с ума от такого количества открытых дескрипторов, а VACUUM превращается в ад. 3. Отдельная БД на клиента Как это работает: Полная физическая изоляция. Проблема: Ценник на инфраструктуру. Держать тысячи коннектов или инстансов RDS - экономическое самоубийство для стартапа. Тогда посмотрел в сторону PostgreSQL Row Level Security (RLS) . Честно говоря, поначалу было страшно. Отдавать логику безопасности "черному ящику" внутри БД казалось рискованным. Плюс, все вокруг пугали: "RLS убьет производительность".

    habr.com/ru/articles/987364/

    #Golang #PostgreSQL #RLS #Multitenancy #Backend #Testcontainers #Database_Security #Архитектура

  26. Как перестать писать WHERE tenant_id и отдать безопасность базе (PostgreSQL RLS в Go)?

    В одном из прошлых проектов случился «кошмар техлида»: в суматохе хотфикса было забыто добавление фильтра WHERE tenant_id = ? в одну из ручек API. В итоге один клиент увидел отчеты другого. Все быстро откатили, но я навсегда запомнил то холодное чувство в животе. Когда начали проектировать архитектуру следующего проекта, я понял, что полагаться на внимательность разработчиков на код-ревью - это тупик. Рано или поздно кто-то устанет, ошибется, и данные снова протекут. Искал способ гарантировать изоляцию данных так, чтобы ее физически нельзя было забыть. Почему стандартные решения не подошли? Перебрал классическую тройку вариантов, и у каждого нашлись фатальные минусы для задачи: 1. Логическая изоляция (WHERE в коде)? Как это работает: Тысячи строк кода, и в каждом запросе ты обязан помнить про tenant_id . Проблема: Человеческий фактор. Это бомба замедленного действия. 2. Схема на клиента (Schema-per-tenant) Как это работает: У каждого клиента своя схема ( schema_01 , schema_02 ...). Проблема: Это работает, пока клиентов 100. Когда их становится 10 000, база начинает задыхаться. Детали: Проблема даже не в миграциях, а в файловой системе. 10 000 клиентов × 50 таблиц = 500 000 файлов. Postgres (и Linux) сходят с ума от такого количества открытых дескрипторов, а VACUUM превращается в ад. 3. Отдельная БД на клиента Как это работает: Полная физическая изоляция. Проблема: Ценник на инфраструктуру. Держать тысячи коннектов или инстансов RDS - экономическое самоубийство для стартапа. Тогда посмотрел в сторону PostgreSQL Row Level Security (RLS) . Честно говоря, поначалу было страшно. Отдавать логику безопасности "черному ящику" внутри БД казалось рискованным. Плюс, все вокруг пугали: "RLS убьет производительность".

    habr.com/ru/articles/987364/

    #Golang #PostgreSQL #RLS #Multitenancy #Backend #Testcontainers #Database_Security #Архитектура

  27. Как перестать писать WHERE tenant_id и отдать безопасность базе (PostgreSQL RLS в Go)?

    В одном из прошлых проектов случился «кошмар техлида»: в суматохе хотфикса было забыто добавление фильтра WHERE tenant_id = ? в одну из ручек API. В итоге один клиент увидел отчеты другого. Все быстро откатили, но я навсегда запомнил то холодное чувство в животе. Когда начали проектировать архитектуру следующего проекта, я понял, что полагаться на внимательность разработчиков на код-ревью - это тупик. Рано или поздно кто-то устанет, ошибется, и данные снова протекут. Искал способ гарантировать изоляцию данных так, чтобы ее физически нельзя было забыть. Почему стандартные решения не подошли? Перебрал классическую тройку вариантов, и у каждого нашлись фатальные минусы для задачи: 1. Логическая изоляция (WHERE в коде)? Как это работает: Тысячи строк кода, и в каждом запросе ты обязан помнить про tenant_id . Проблема: Человеческий фактор. Это бомба замедленного действия. 2. Схема на клиента (Schema-per-tenant) Как это работает: У каждого клиента своя схема ( schema_01 , schema_02 ...). Проблема: Это работает, пока клиентов 100. Когда их становится 10 000, база начинает задыхаться. Детали: Проблема даже не в миграциях, а в файловой системе. 10 000 клиентов × 50 таблиц = 500 000 файлов. Postgres (и Linux) сходят с ума от такого количества открытых дескрипторов, а VACUUM превращается в ад. 3. Отдельная БД на клиента Как это работает: Полная физическая изоляция. Проблема: Ценник на инфраструктуру. Держать тысячи коннектов или инстансов RDS - экономическое самоубийство для стартапа. Тогда посмотрел в сторону PostgreSQL Row Level Security (RLS) . Честно говоря, поначалу было страшно. Отдавать логику безопасности "черному ящику" внутри БД казалось рискованным. Плюс, все вокруг пугали: "RLS убьет производительность".

    habr.com/ru/articles/987364/

    #Golang #PostgreSQL #RLS #Multitenancy #Backend #Testcontainers #Database_Security #Архитектура

  28. Внедряем Testcontainers за два дня или как перестать бояться рефакторинга и начать доверять своим тестам

    Надоело, когда после сотни зеленых unit-тестов приложение падает на тестовом стенде? Когда рефакторинг превращается в кошмар из-за необходимости переписывать полсотни тестовых классов? Мне тоже надоело и я нашел решение. В статье покажу, как за два-три рабочих дня внедрить Testcontainers и начать писать тесты, которые действительно работают. В докладе вы найдете production-ready решение с PostgreSQL, Kafka и WireMock, которое выявит реальные проблемы еще до деплоя, честное тестирование реального поведения приложения.

    habr.com/ru/articles/986870/

    #testcontainers #mockito #test #java #spring

  29. The docling-testcontainers module provides a ready-to-use Testcontainers integration for running a Docling Serve instance, wrapping the official container image and exposing a simple Java API.
    testcontainers.com/modules/doc

    #Docling #Java #Testcontainers

  30. Hat mich paar Brainloops gekostet, aber habe es am Ende hinbekommen. DIND mit #forgejoaction klappt jetzt. Somit laufen auch meine #testcontainers Test auf #codeberg und ich kann weiter von #github migrieren.

    Beispiel Action Run: codeberg.org/sparsick/hero-fro

    Code für den Forgejo Runner Setup:

    codeberg.org/sparsick/forgejo-

    #DIDit #unpluggedtrump

  31. Путевые заметки о знакомстве со Spring Data R2DBC

    Привет, Хабр! Меня зовут Каненков Александр, я backend-разработчик в Домклик. Не так давно я резко и с головой погрузился в мир реактивного программирования и очень заинтересовался этой темой. Хочу поделиться кратким введением в Spring Data R2DBC, зачем это нужно, как начать использовать и какие преимущества даёт. Мы разработаем небольшое приложение, добавим flyway и напишем пару тестов.

    habr.com/ru/companies/domclick

    #java #kotlin #spring_data #r2dbc #testcontainers #flyway

  32. Путевые заметки о знакомстве со Spring Data R2DBC

    Привет, Хабр! Меня зовут Каненков Александр, я backend-разработчик в Домклик. Не так давно я резко и с головой погрузился в мир реактивного программирования и очень заинтересовался этой темой. Хочу поделиться кратким введением в Spring Data R2DBC, зачем это нужно, как начать использовать и какие преимущества даёт. Мы разработаем небольшое приложение, добавим flyway и напишем пару тестов.

    habr.com/ru/companies/domclick

    #java #kotlin #spring_data #r2dbc #testcontainers #flyway

  33. Путевые заметки о знакомстве со Spring Data R2DBC

    Привет, Хабр! Меня зовут Каненков Александр, я backend-разработчик в Домклик. Не так давно я резко и с головой погрузился в мир реактивного программирования и очень заинтересовался этой темой. Хочу поделиться кратким введением в Spring Data R2DBC, зачем это нужно, как начать использовать и какие преимущества даёт. Мы разработаем небольшое приложение, добавим flyway и напишем пару тестов.

    habr.com/ru/companies/domclick

    #java #kotlin #spring_data #r2dbc #testcontainers #flyway

  34. Путевые заметки о знакомстве со Spring Data R2DBC

    Привет, Хабр! Меня зовут Каненков Александр, я backend-разработчик в Домклик. Не так давно я резко и с головой погрузился в мир реактивного программирования и очень заинтересовался этой темой. Хочу поделиться кратким введением в Spring Data R2DBC, зачем это нужно, как начать использовать и какие преимущества даёт. Мы разработаем небольшое приложение, добавим flyway и напишем пару тестов.

    habr.com/ru/companies/domclick

    #java #kotlin #spring_data #r2dbc #testcontainers #flyway

  35. Too many #Spring contexts, Docker containers, and threads? Sergei Chernov explains how context caching really works—and how bad defaults lead to OOMs and flaky tests.

    Learn how to control resource usage: javapro.io/2025/12/17/optimizi

    #SpringBoot #Testcontainers #Java #Frameworks

  36. I never expected such an amazing journey when I started working on #testcontainers for #dotnet years ago. I've met many great people and learned a lot. I'm truly grateful for all of it. I never imagined the packages would one day pass 150M+ downloads!

    Check out Testcontainers (testcontainers.com/) and test against real dependencies with confidence.

  37. Realistic test environments often turn into complex beasts. The TCI framework adds structure and control on top of #Testcontainers—without sacrificing flexibility.
    Alexander Bierler explains how.

    Read #JAVAPRO now:javapro.io/2025/10/10/supercru
    #CI #DevOps #Java #Frameworks #OpenSource

  38. A new #testcontainers for #dotnet release is available. This release supports .NET 10 and ensures compatibility with Docker Engine v29: github.com/testcontainers/test. I'm working on updating Docker.DotNet for full v29 support, so expect a new version soon /cc @docker.

    Check out the new available modules like Playwright, Grafana, or my favorite this release, Toxiproxy. It's a really interesting tool for pushing testing further: dotnet.testcontainers.org/modu.

  39. Good day folks. How many of you are still battling to repair issues related to testcontainers, java-docker and the Docker 29 release?

    #testcontainers #docker #java