Если вы согласны с зависимостью от работающего док-контейнера и хотите что-то хорошо поддерживаемое, вы можете использовать localstack
Перед запуском тестов запустите S3 следующим образом:
docker run --name localstack -d -p 5000:5000 -e SERVICES=s3:5000 localstack/localstack
И затем остановите его, когда тесты будут завершены следующим образом:
docker stop localstack
Вам необходимо настроить S3-клиент так, чтобы он указывал на localhost: 5000 для тестов.В Java это можно сделать так:
AmazonS3ClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
"http://localhost:5000",
"us-west-2"))
.build();