
You’ve been there: Your Unit tests pass both locally and in CI. You deploy with confidence. You thought.. Then staging in the real cloud reveals the truth—bugs that only show up with actual RDS parameter settings, real SQS and SNS throughput limits, or Lambda and API Gateway behaviour your local mocks never captured.
The solution is Testcontainers.
Testcontainers is a testing library that provides easy and lightweight APIs for bootstrapping integration tests with real services wrapped in Docker containers. Using Testcontainers, you can write tests talking to the same type of services you use in production without mocks or in-memory services. Spin them up, run migrations, execute your Node.js service against them, assert results, auto-cleanup.

Connecting your applications to LocalStack has not always been easy. In this video, Simon from the LocalStack team discusses how we streamlined the LocalStack networking experience. We discussed the challenges of connecting your applications to LocalStack and how we're simplifying the LocalStack networking experience. Simon also discussed about configurations required for more complex networking setups, and some common networking scenarios, with example configuration for achieving connectivity.

LocalStack integrates with official AWS Software Development Kits (SDKs) so you can connect to LocalStack services using the same application code you use for AWS services. This lets you develop and test your applications locally without connecting to the cloud. In this video, we will talk about how you can connect to LocalStack emulated services using AWS SDKs.

LocalStack is ephemeral, so when you stop and restart it, all data is lost. You can use certain features to save the state & load it back when you restart LocalStack. This includes saving the local state for S3 buckets, DynamoDB tables, RDS databases and more. In this video, we explore three mechanisms that allow you to save state in LocalStack: persistence, state export and import, and Cloud Pods.