Developers working with AWS have long faced a trade-off: write integration tests against real cloud services and rack up costs, or rely on mocks that miss subtle behaviors. A new open-source tool called Fakecloud aims to close that gap by offering a local emulator of AWS APIs purpose-built for integration testing.
A Targeted Approach to Testing
Unlike general-purpose AWS emulators that try to replicate every service feature, Fakecloud focuses narrowly on what integration tests need. This reduces complexity and startup time. The tool intercepts AWS SDK calls and responds with realistic behavior, allowing developers to verify their code’s interaction with cloud services in a controlled environment.
Why This Matters
The shift toward local cloud emulation reflects a broader trend in software development: minimizing reliance on external infrastructure during testing. Fakecloud lowers the barrier for teams to run thorough integration tests without worrying about costs or timeouts. For organizations with mature CI pipelines, the ability to spin up a fake AWS environment locally means faster feedback loops and fewer flaky tests caused by network latency. The tool also opens the door for more aggressive testing strategies, such as injecting failures or simulating edge cases that would be expensive or risky in a real cloud account.
Comparison With Existing Tools
Fakecloud enters a space that already includes established projects like LocalStack. While LocalStack aims for broad compatibility with hundreds of AWS services, Fakecloud deliberately limits its scope to services most commonly used in integration tests. This trade-off yields a smaller footprint and quicker startup. Developers who only need core services may find Fakecloud a lighter alternative.
The project is still early and community contributions will likely expand its coverage. For now, it offers a pragmatic middle ground between full cloud tests and incomplete mocks.
Getting Started With Fakecloud
Fakecloud runs as a standalone binary or Docker container. Configuration is minimal: point your AWS SDK endpoint to the local server and set credentials to dummy values. The emulator returns consistent, deterministic responses that can be reset between test runs. Documentation covers common setup patterns for Python, Java and Node.js projects.



