SQS is a que messaging service. The sqs client is based on http and polling instead of following a listener approach therefore it is easy to use mocking utils to mock its functionality. However there is an alternative closer to the actual service.
ElasticMq is a queueing system written in scala which is compatible with the sqs interfaces.
java -jar elasticmq-server-0.8.12.jar
you have an ElasticMQ instance up and running on port 9324.
Since it is compatible with the amazon sqs you will use exactly the same procedure to establish a connection and send messages.
AmazonSQSClient amazonSQSClient = new AmazonSQSClient(new BasicAWSCredentials("","")); amazonSQSClient.setEndpoint("http://localhost:9324"); amazonSQSClient.createQueue("testque");
SQS will definetely come in handy for any Integration tests or even unit tests.