Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Symfony'时如何在Behat中使用PHPUnit;那是普尼特桥吗?_Php_Symfony_Phpunit_Behat - Fatal编程技术网

使用Symfony'时如何在Behat中使用PHPUnit;那是普尼特桥吗?

使用Symfony'时如何在Behat中使用PHPUnit;那是普尼特桥吗?,php,symfony,phpunit,behat,Php,Symfony,Phpunit,Behat,在我的Behat上下文中,我已被包含在PHPUnit的断言中,如中所述: 然而,我现在使用的是Symfony,因此我已经删除了显式安装的PHPUnit,并使用了桥带来的PHPUnit。我需要这样做以避免所描述的“多版本”错误 但是现在,我不能在behat中使用PHPUnit PHP Warning: Uncaught exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Warning

在我的Behat上下文中,我已被包含在PHPUnit的断言中,如中所述:

然而,我现在使用的是Symfony,因此我已经删除了显式安装的PHPUnit,并使用了桥带来的PHPUnit。我需要这样做以避免所描述的“多版本”错误

但是现在,我不能在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实例?

事实证明,我需要按照路径要求供应商中的相关文件。对我来说,这是:

require_once(__DIR__.'/../../vendor/symfony/phpunit-bridge/bin/.phpunit/phpunit-5.7/vendor/autoload.php');
require_once(__DIR__.'/../../vendor/symfony/phpunit-bridge/bin/.phpunit/phpunit-5.7/src/Framework/Assert/Functions.php');

对于Symfony 4,这足以让它为我工作:

require_once(__DIR__ . '/../../vendor/bin/.phpunit/phpunit-5.7/vendor/autoload.php');
然而,这并不是一个很好的解决方案,因为如果使用PHP7.2,PHPUnit桥将安装PHPUnit 6.3而不是5.7

我尝试按如下方式更改composer.json:

"autoload-dev": {
    "psr-4": {
        "App\\Tests\\": "tests/"
    },
    "classmap": [
        "vendor/bin/.phpunit"
    ]
},
它确实可以工作,但会中断新安装,因为只有运行
simple phpunit
,文件夹才存在


我怀疑这可以通过使用composer脚本来运行
简单的phpunit
来解决,但我对
安装后cmd
预自动加载转储的简短实验毫无结果。

@lauda恐怕两天内你无法接受你自己的问题答案。但我打算这么做。你可能也想向上游报告这件事。由于这与Behat有关,它可能会有一些吸引力(或者已经有了更好的解决方案)。不过,我不太确定我会在哪里报告这件事。
"autoload-dev": {
    "psr-4": {
        "App\\Tests\\": "tests/"
    },
    "classmap": [
        "vendor/bin/.phpunit"
    ]
},