In-memory SQS For Unit Testing

Photo by Levi Jones on Unsplash

If you need an in-memory, functional SQS client during unit tests you can now use .

Getting Started

The simplest way to create a new SQS service is with . However, if you need queues prepopulated you can use :

Wherever you pass around an SQS client in your application, you should use the interface.

Supported Functionality

Only some of the common SQS methods are implemented. Methods not implemented will panic.

You can view the specific implementation details in the godoc documentation.


Functions can be set on queues to help with unit testing life cycle. For

See the documentation for Queue for more information.

Simulating HTTP Latency

When enabled a sleep between 20 and 100 milliseconds is added to each call that would otherwise need to make a HTTP request with a real SQS client:

I’m a data nerd and TDD enthusiast originally from Sydney. Currently working for Uber in New York. My thoughts here are my own. 🤓

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store