There is no way to replace a class with a class in Symphony, need to redo the binding to the interface:
App\Service\S3Client\S3Client:
arguments:
$version: 'latest'
$region: 'us-east-1'
$host: '%env(MINIO_HOSTNAME)%'
$port: '%env(MINIO_INTERNAL_PORT)%'
$accessKey: '%env(MINIO_ACCESS_KEY)%'
$secretKey: '%env(MINIO_SECRET_KEY)%'
App\Service\S3Client\S3ClientInterface:
class: App\Service\S3Client\S3Client
arguments:
$version: 'latest'
$region: 'us-east-1'
$host: '%env(MINIO_HOSTNAME)%'
$port: '%env(MINIO_INTERNAL_PORT)%'
$accessKey: '%env(MINIO_ACCESS_KEY)%'
$secretKey: '%env(MINIO_SECRET_KEY)%'
when@test:
services:
App\Service\S3Client\S3ClientInterface:
class: App\Service\S3Client\TestS3Client