I'm trying (for quite a while, with help from fellas at the PHP chat room) to succesfully integrate PHPUnit with PhpStorm.
I've set up the phpunit.xml
file as follows:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
backupGlobals = "false"
backupStaticAttributes = "false"
colors = "true"
convertErrorsToExceptions = "true"
convertNoticesToExceptions = "true"
convertWarningsToExceptions = "true"
processIsolation = "false"
stopOnFailure = "false"
syntaxCheck = "false"
bootstrap = "bootstrap.php" >
<testsuites>
<testsuite name="Lamed Test Suite">
<directory>Custom/*</directory>
</testsuite>
</testsuites>
</phpunit>
And configured PHP storm successfully to read from that file.
The problem is, I get the following error in PhpStorm's console upon running the tests:
D:\Websites\php\php.exe C:\fakepath\ide-phpunit.php --bootstrap D:\Websites\htdocs\lamed\tests\boostrap.php --configuration D:\Websites\htdocs\lamed\tests\phpunit.xml
Testing started at 23:51 ...
Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "Lamed Test Suite.php" nor "Lamed Test Suite.php" could be opened.' in D:\Websites\php\pear\PHPUnit\Util\Skeleton\Test.php:100
Stack trace:
#0 D:\Websites\php\pear\PHPUnit\TextUI\Command.php(157): PHPUnit_Util_Skeleton_Test->__construct('Lamed Test Suit...', '')
#1 C:\Users\Dor\AppData\Local\Temp\ide-phpunit.php(95): PHPUnit_TextUI_Command->run(Array, true)
#2 C:\Users\Dor\AppData\Local\Temp\ide-phpunit.php(434): IDE_PHPUnit_TextUI_Command::main()
#3 {main}
thrown in D:\Websites\php\pear\PHPUnit\Util\Skeleton\Test.php on line 100
Process finished with exit code 255
It's obviously reading that from the name=
attribute on the testsuite
element. The question is, why?
phpunit -c "D:\Websites\htdocs\lamed\tests\phpunit.xml"
in the CLI actually gives the same results.Custom
directory is found in the same folder as the phpunit.xml
file.I'm baffled. Would appreciate any sort of help.
Drop the /*
from the <directory>
element. This element's text content should point to a directory—not a file glob.
<directory>Custom</directory>
See the PHPUnit configuration documentation for more details on specifying individual files and inclusion patterns.
By default all files ending in Test.php
(e.g. UserTest.php
) will be inspected for test cases. If you have a different naming convention you can either switch or add the suffix
attribute. For example, if you name your tests like User.test.php
use this:
<directory suffix=".test.php">Custom</directory>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With