In order to run tests, you need to install Docker, Docker Compose and the make utility. Docker configuration files are
in tests/docker and Docker Compose file is tests/docker-compose.yml. There are configurations for different versions
of PHP (5.6, 7.0, 7.1, 7.2, 7.3). You need to create .env file to specify where the docker-compose.yml file is. You
can create .env file from .env.example in the root directory of the project.
To run tests execute the following command:
# for all PHP versions
make test
# for PHP 7.3 only
make test73
If you need to pass options to phpunit use the following commands (for example, to run only one test file):
`bash
docker-compose build --pull php73
docker-compose run php73 vendor/bin/phpunit tests\drivers\sqs\QueueTest /code/tests/drivers/sqs/QueueTest.php
docker-compose down
`
Some tests can be disabled by default for various reasons (for example, the AWS SQS test require a queue set up in AWS).
The test checks AWS_SQS_ENABLED environment variable (see \tests\drivers\sqs\QueueTest::setUp). If you want to
run that test you need to set this variable to 1. You can specify environment variables that you need to pass to
the container in the .env file in the base directory (see .env.example). AWS SQS test requires queue credentials that you also
need to pass to the container via .env file (see tests/app/config/main.php).
# .env
AWS_SQS_ENABLED=1
AWS_KEY=KEY
AWS_SECRET=SECRET
AWS_REGION=us-east-1
AWS_SQS_URL=https://sqs.us-east-1.amazonaws.com/234888945020/queue1
# AWS SQS test will not be skipped now
make test73