phpunit 配置文件未加载 - 未捕获 PHPUnit\Util\Xml\Exception

问题描述 投票:0回答:1

我的项目根目录中有一个 phpunit.xml 文件。当我运行

vendor/bin/phpunit web/core/tests/Drupal/KernelTests/Core/DependencyInjection/AutowireTest.php
时,该文件将被拾取并且测试可以正确运行。我可以确认这种情况发生,因为测试正在运行,而且如果我删除该文件,phpunit 就会崩溃。

我已经制作了该文件的精确副本并将其命名为

phpunit-host.xml

如果我这样做

vendor/bin/phpunit -c phpunit-host.xml web/core/tests/Drupal/KernelTests/Core/DependencyInjection/AutowireTest.php
那么一切都会崩溃:

PHPUnit\Framework\Exception: PHP Fatal error:  Uncaught PHPUnit\Util\Xml\Exception: Could not read "phpunit-host.xml". in /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/Util/Xml/Loader.php:49
Stack trace:
#0 /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php(71): PHPUnit\Util\Xml\Loader->loadFile('phpunit-host.xm...', false, true, true)
#1 Standard input code(101): PHPUnit\TextUI\XmlConfiguration\Loader->load('phpunit-host.xm...')
#2 {main}

Next PHPUnit\TextUI\XmlConfiguration\Exception: Could not read "phpunit-host.xml". in /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php:73
Stack trace:
#0 Standard input code(101): PHPUnit\TextUI\XmlConfiguration\Loader->load('phpunit-host.xm...')
#1 {main}
  thrown in /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php on line 73
Fatal error: Uncaught PHPUnit\Util\Xml\Exception: Could not read "phpunit-host.xml". in /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/Util/Xml/Loader.php:49
Stack trace:
#0 /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php(71): PHPUnit\Util\Xml\Loader->loadFile('phpunit-host.xm...', false, true, true)
#1 Standard input code(101): PHPUnit\TextUI\XmlConfiguration\Loader->load('phpunit-host.xm...')
#2 {main}

Next PHPUnit\TextUI\XmlConfiguration\Exception: Could not read "phpunit-host.xml". in /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php:73
Stack trace:
#0 Standard input code(101): PHPUnit\TextUI\XmlConfiguration\Loader->load('phpunit-host.xm...')
#1 {main}
  thrown in /Users/joachim/Sites/drupal-core-development-project/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php on line 73

出了什么问题?

我尝试在vendor/phpunit/phpunit/src/Util/Xml/Loader.php和getcwd()中查找,$filename全部匹配,$contents是文件的XML字符串。

phpunit
1个回答
0
投票

在使用放置在根目录中的 phpunit.xml 文件并使用 -c 选项运行测试时遇到了同样的问题。使用文件的完整路径运行测试修复了此问题。我假设它正在寻找确切的字符串,但在通过测试从模块调用时找不到它。

vendor/bin/phpunit -c /var/www/html/phpunit-new.xml
© www.soinside.com 2019 - 2024. All rights reserved.