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