Browse Source

Update testing README.

[ci skip]
Daniele Alessandri 11 years ago
parent
commit
87ca5a1a49
1 changed files with 42 additions and 47 deletions
  1. 42 47
      tests/README.md

+ 42 - 47
tests/README.md

@@ -1,37 +1,35 @@
 # About testing Predis #
 
-__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 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 the
-PHPUnit `@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.
+__ATTENTION__: Do not ever 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 library on a
+production server without hitting the database, please read ahead about how to disable integration
+tests.
+
+Predis ships a comprehensive test suite that uses __PHPUnit__ to cover every aspect of the library.
+The suite is organized into several unit groups with the PHPUnit `@group` annotation which makes it
+possible to run only selected groups of tests. The main groups are:
+
+  - __disconnected__: generic tests verifying the correct behaviour of the library without requiring
+    an active connection to Redis.
   - __connected__: integration tests that require an active connection to Redis
   - __commands__: tests for the implementation of Redis commands.
-  - __slow__: tests that might slow down the execution of the test suite, they
-    can be either __connected__ or __disconnected__.
+  - __slow__: tests that might slow down the execution of the test suite (either __connected__ or
+    __disconnected__).
 
 A list of all the available groups in the suite can be obtained by running:
 
 ```bash
 $ 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
-tracker](http://github.com/sebastianbergmann/phpunit/issues/320).
 
-Certain groups of tests that require native extensions, such as `ext-curl` or
-`ext-phpiredis`, are excluded by default in the XML configuration file. If you want
-to test Predis using the phpiredis-based connection or against an instance of Webdis,
-you should remove those groups of tests from the exclusion list in `phpunit.xml`.
+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 tracker](http://github.com/sebastianbergmann/phpunit/issues/320).
+
+Certain groups of tests requiring native extensions, such as `ext-curl` or `ext-phpiredis`, are
+disabled by default in the configuration file. To enable these groups of tests you should remove
+them from the exclusion list in `phpunit.xml`.
 
 ### Combining groups for inclusion or exclusion with the command-line runner ###
 
@@ -41,23 +39,20 @@ $ phpunit --group disconnected --exclude-group commands,slow
 
 ### Integration tests ###
 
-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 depending on them. These tests are
-identified by the __connected__ group.
+The suite performs integration tests against a running instance of Redis (>= 2.4.0) to verify the
+correct behavior of the implementation of each command and certain abstractions implemented in the
+library that depend 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.
+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 `unstable`
-branch with the development profile by changing the `REDIS_SERVER_VERSION` to `dev`
-in the `phpunit.xml` file.
+By default, the test suite is configured to execute integration tests using the server profile for
+Redis v2.6. You can run the suite against a Redis instance built from the `unstable` branch with the
+development profile by changing the `REDIS_SERVER_VERSION` to `dev` in the `phpunit.xml` file, or to
+`2.8` for the current stable version.
 
-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:
+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:
 
 ```bash
 $ phpunit --exclude-group connected
@@ -65,8 +60,8 @@ $ phpunit --exclude-group connected
 
 ### Slow tests ###
 
-Certain tests can slow down the execution of the test suite. These tests can be disabled
-by excluding the __slow__ group:
+Certain tests can slow down the execution of the suite. These tests can be disabled by excluding the
+__slow__ group:
 
 ```bash
 $ phpunit --exclude-group slow
@@ -74,15 +69,15 @@ $ phpunit --exclude-group slow
 
 ### Testing Redis commands ###
 
-We also provide an helper script in the `bin` directory that can be used to automatically
-generate a file with the scheleton of a test case to test a Redis command by specifying
-the name of the class in the `Predis\Command` namespace (only classes in this namespace
-are considered valid). For example, to generate a test case for `SET` (represented by the
-`Predis\Command\StringSet` class):
+We also provide an helper script in the `bin` directory that can be used to automatically generate a
+file with the scheleton of a test case to test a Redis command by specifying the name of the class
+in the `Predis\Command` namespace (only classes in this namespace are considered valid). For example
+ to generate a test case for `SET` (represented by the `Predis\Command\StringSet` class):
 
 ```bash
 $ ./bin/create-command-test --class=StringSet
 ```
-Each command has its own realm (commands that operate on strings, lists, sets and such)
-and this realm is automatically inferred from the name of the specified class. The realm
-can be also specified manually using the `--realm` option.
+
+Each command has its own realm (e.g. commands operating on strings, lists, sets and such) which is
+automatically inferred from the name of the specified class. The realm can be also provided manually
+leveraging the `--realm` option.