About testing Predis\Async
ATTENTION: Do not ever run this test suite against instances of Redis running in production environments or containing data you are interested in! If you still want to test this software on a production server without hitting the database, please read ahead to undestand how to disable integration tests.
Predis\Async ships with a comprehensive test suite that uses PHPUnit to cover
every aspect of the library. The suite is organized into several unit groups with
@group annotation which makes it possible to run only selected groups
of tests. The main groups are:
- disconnected: generic tests that verify the correct behaviour of the library without requiring an active connection to Redis.
- connected: integration tests that require an active connection to Redis
- slow: tests that might slow down the execution of the test suite, they can be either connected or disconnected.
A list of all the available groups in the suite can be obtained by running:
$ phpunit --list-groups
Groups of tests can be disabled or enabled via the XML configuration file or the
standard command-line test runner. Please note that due to a bug in PHPUnit,
older versions ignore the
--group option when the group is excluded in the XML
configuration file. More details about this issue are available on PHPUnit's bug
Combining groups for inclusion or exclusion with the command-line runner
$ phpunit --group disconnected --exclude-group commands,slow
The suite performs integration tests against a running instance of Redis (>= 2.4.0 is required) to verify the correct behaviour of the implementation of each command and certain abstractions implemented in Predis\Async depending on them. These tests are identified by the connected group.
Integration tests for commands that are not defined in the specified server profile
(see the value of the
REDIS_SERVER_VERSION constant in
phpunit.xml) are marked
as skipped automatically.
By default, the test suite is configured to execute integration tests using the
server profile for Redis v2.4 (which is the current stable version of Redis). You
can optionally run the suite against a Redis instance built from the
branch with the development profile by changing the
If you do not have a Redis instance up and running or available for testing, you can completely disable integration tests by excluding the connected group:
$ phpunit --exclude-group connected
Certain tests can slow down the execution of the test suite. These tests can be disabled by excluding the slow group:
$ phpunit --exclude-group slow