尝试使用配置XML文件运行PHPUnit会导致异常

Mad*_*iha 9 integration phpunit phpstorm

我正在尝试(很长一段时间,在PHP聊天室的fellas的帮助下)成功地将PHPUnit与PhpStorm集成.

我已将phpunit.xml文件设置如下:

<?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>
Run Code Online (Sandbox Code Playgroud)

并成功配置PHP风暴以从该文件中读取.

问题是,我在运行测试时在PhpStorm的控制台中收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

显然,从元素的name=属性中读取它testsuite.问题是,为什么?

更新

  • 我正在运行Windows 7 x64 SP1和PHPStorm 4.0.3.PHPUnit版本是3.6.12.
  • phpunit -c "D:\Websites\htdocs\lamed\tests\phpunit.xml"在CLI中键入实际上会产生相同的结果.
  • 我的Custom目录位于与文件相同的文件夹中phpunit.xml.

我很困惑.希望得到任何帮助.

Dav*_*ess 10

/*<directory>元素中删除.此元素的文本内容应指向目录 - 而不是文件glob.

<directory>Custom</directory>
Run Code Online (Sandbox Code Playgroud)

有关指定单个文件和包含模式的更多详细信息,请参阅PHPUnit配置文档.

默认情况下,将检查以Test.php(例如UserTest.php)结尾的所有文件的测试用例.如果您有不同的命名约定,则可以切换或添加suffix属性.例如,如果您将测试命名为User.test.php使用此命令:

<directory suffix=".test.php">Custom</directory>
Run Code Online (Sandbox Code Playgroud)