在我的Behat环境中,我已经包含了the manual中描述的PHPUnit的断言:
require_once 'PHPUnit/Autoload.php';
require_once 'PHPUnit/Framework/Assert/Functions.php';
但是,我现在正在使用Symfony的PHPUnit bridge,因此我删除了我明确安装的PHPUnit,并使用了桥接器带来的那个。我需要这样做以避免多个版本"错误描述here。
但现在,我无法在behat中使用PHPUnit!
PHP Warning: Uncaught exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Warning: require_once(PHPUnit/Autoload.php): failed to open stream: No such file or directory'
如何引用PHPUnit桥接器引入的PHPUnit实例?
答案 0 :(得分:1)
事实证明,我需要通过其路径来要求供应商中的相关文件。对我来说,那是:
StringConverter<LocalDate>
答案 1 :(得分:1)
对于Symfony 4来说,这足以让它为我工作:
require_once(__DIR__ . '/../../vendor/bin/.phpunit/phpunit-5.7/vendor/autoload.php');
然而,这不是一个很好的解决方案,因为如果您使用的是PHP 7.2,PHPUnit Bridge将安装PHPUnit 6.3而不是5.7。
我尝试按如下方式更改composer.json:
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
},
"classmap": [
"vendor/bin/.phpunit"
]
},
哪个确实有效,但打破了全新安装,因为在您运行simple-phpunit
之前该文件夹不存在。
我怀疑这可以使用作曲家脚本来运行simple-phpunit
,但我对post-install-cmd
和pre-autoload-dump
的简短实验让我无处可去。