Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Attempting to run PHPUnit with a configuration XML file results in exception

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?

UPDATES

  • I am running Windows Seven x64 SP1 and PHPStorm 4.0.3. PHPUnit version is 3.6.12.
  • Typing phpunit -c "D:\Websites\htdocs\lamed\tests\phpunit.xml" in the CLI actually gives the same results.
  • My Custom directory is found in the same folder as the phpunit.xml file.

I'm baffled. Would appreciate any sort of help.

like image 564
Madara's Ghost Avatar asked Aug 07 '12 20:08

Madara's Ghost


1 Answers

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>
like image 117
David Harkness Avatar answered Sep 28 '22 06:09

David Harkness