I have following, very simple, XML config for PHPUnit:
<phpunit bootstrap="/_tests/TestAutoload.php">
<testsuites>
<testsuite name="Unit Tests">
<directory suffix=".php">_tests</directory>
</testsuite>
</testsuites>
</phpunit>
How to exclude certain file in this directory from test suite? I tried <exclude> and <blacklist>, but it doesn’t seem to work in this context. Also couldn’t find any other documentation than phpunit.de one, which doesn’t mention anything about it. Else than that, this config works perfectly.
There are a number of ways to not run a particular test – putting it into a blacklist so it’s never run may not be the way – as changing it means editing the blacklist, and you’ll often endup bouncing it in and out of version control.
There are several other ways that may be more appropriate:
If a test is not yet ready to run:
If there’s an outside reason it should not be run, skip it:
You can also put that into the
setUp()function, so it will skip all the tests in a test-class.You can make a test dependant on a previous one succeeding:
The @group -name- annotation is one of the best ways to specifically stop, or run one group of tests
testSomething()is now in two groups, and if either is added on the command line (or in the config.xml)--exclude-groupparameter. it won’t be run. Likewise, you could run only tests that belong to a particular group – say named after a feature, or bug report.