32
votes

Is it possible to specify which test suite to run from a configuration file via the command line test runner? For example, if I have the following xml configuration:

<phpunit ...>
    <testsuites>
        <testsuite name="My Test Suite 1">
            <directory>./MyTestSuite1/</directory>
        </testsuite>
        <testsuite name="My Test Suite 2">
            <directory>./MyTestSuite2/</directory>
        </testsuite>
    </testsuites>
    ...
</phpunit>

Can I have it run only "My Test Suite 1"?

3
I know you can individual tests from Testcase. Not sure about suites though. Try to do something like phpunit Suitename Path/To/AllSuites.php or other way round. Also, check phpunit --help and phpunit.de/manual/3.4/en/textui.html - Gordon

3 Answers

11
votes
  • you can use the @group tag in the class documentation to indicate the group and then run tests only on that group using --group
  • you can use --filter to only run tests that match a given regex

Update 2013

As @havg's answer below mentions, it's now possible to run individual test suites using phpunit --testsuite

51
votes

It's phpunit --testsuite "My Test Suite 1"

1
votes

Have you tried when you run phpunit from the command line to add a path as a parameter?

So something like

 phpUnit ./MyTestSuite1/

?