这类似于this SO question,但它表现在作曲家而不是梨。
我的相关composer.json行:
"require-dev": {
"phpunit/phpunit": "3.7.14",
"symfony/browser-kit": ">=2.3,<2.4-dev"
},
在vendor / composer中创建此include_paths.php文件:
return array(
$vendorDir . '/phpunit/phpunit-mock-objects',
$vendorDir . '/phpunit/php-timer',
$vendorDir . '/phpunit/php-token-stream',
$vendorDir . '/phpunit/php-code-coverage',
$vendorDir . '/phpunit/phpunit',
$vendorDir . '/symfony/yaml',
);
运行“php vendor / bin / phpunit”会触发错误:
PHPUnit_Framework_Exception:PHP警告: require_once(File / Iterator / Autoload.php):无法打开流:否 这样的文件或目录 /path/to/project/vendor/phpunit/phpunit/PHPUnit/Autoload.php 第45行
我可以通过手动将缺少的包含路径添加到数组中来解决问题,如:
$vendorDir . '/phpunit/php-file-iterator',
但是下次我运行Composer时会消失。
我猜我的composer.json中有错误,但我真的不能想到它是什么。
答案 0 :(得分:1)
我建议更新到最新的3.7 PHPUnit。使用Composer执行此操作很简单,只需要3.7.*
以允许将来更新该版本(尽管它们不太可能发生,因为PHPUnit的开发目前正在维护4.2,稳定4.3并继续使用4.4)。
比较使用PHPUnit 3.7.14和更新的3.7.37之间的成功,PHPUnit中的一些内部错误修正可能解决了这个问题。