【问题标题】:Process Component Symfony failed to execute behat command进程组件 Symfony 无法执行 behat 命令
【发布时间】:2017-02-10 02:18:23
【问题描述】:

我目前正在开发一个 Laravel 包,它将直接从我们的浏览器启动行为测试。这是一个个人项目。

我使用 Process Component Symfony 来执行各种命令。但是,它无法执行命令 Behat 并返回此错误:

供应商/bin/Behat“失败。 退出代码:255(未知错误)工作目录:/Applications/MAMP/htdocs/Package/public 输出:================ 解析错误:解析错误,期待'&' 'or"variable (T_VARIABLE)''在/Applications/MAMP/htdocs/Package/vendor/laravel/framework /src/Illuminate/Foundation/helpers.php 第 475 行 错误输出:================

简而言之,他拒绝执行 Behat 的所有命令。这里在我的包的控制器中使用命令。

<? Php

namespace Nkweb\BehatWeb\Http\Controllers;

use App\Http\Controllers\Controller;
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;

class BehatWebController extends Controller
{
    
    public function launchBehat()
    {
        
        $command = base_path('vendor/bin/Behat');

        $process = new Process($command);
        try {
            $process->mustRun();
            $outputs = explode("\n", $process->getOutput());
        } Catch (ProcessFailedException $e) {
            return $e->getMessage();
        }

        return view('behatweb::content.init', ['outputs' => $outputs]);
    }
}

我搜索了谷歌并以各种方式返回,但我找不到任何关于它的信息。我真的需要你的帮助:(

【问题讨论】:

  • 您是否尝试过使用 B 小写字母的 Behat?
  • 你好,是的,但我得到了同样的错误

标签: php laravel symfony process behat


【解决方案1】:

我不是 Laravel 用户,但我会试一试。我将介绍我的过程,希望它能帮助您在未来调试类似的问题。我假设你使用的是最新的 Laravel,但如果你能说明你正在运行的版本会很有帮助。

查看错误,我们有一个不错的起点。 laravel/framework/src/Illuminate/Foundation/helpers.php 中的第 475 行。这是下面的第一行:

function event(...$args)
{
    return app('events')->fire(...$args);
}

根据错误,我们期待一个变量或 &(通过引用传递),因此我们可以假设它正在谈论事件函数中的参数。现在我们可以看到参数前面是 ... 这对 Google 来说很难,但搜索“splat”运算符可能会得到更好的结果(注意,不同的语言可能有替代名称)。

这是在 PHP 5.6 中引入的,这让我相信您运行的是不受支持的早期版本。我建议升级到 PHP 5.6 或更高版本,看看是否能解决您的问题。如果没有,请发布您正在使用的 PHP 版本。

【讨论】:

  • 谢谢你的回答,我更新了我的 php5.5.*,现在我有了 php5.6.25。同样的错误。我认为 Behat 继续使用我的旧版本。我正在尝试找到如何改变这种行为
  • 如果您创建一个新文件并从 MAMP 提供它,只需
猜你喜欢
  • 2017-08-15
  • 2020-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
相关资源
最近更新 更多