Laravel 5 如何从 TestCase 调用命令行

How to Call command line from TestCase in Laravel 5

我正在 Laravel 5 中开发一个应用程序,我有一个扩展自 TestCase.php 的测试文件,我需要在我的文件

中调用 phpcs 命令
 class MyTest extends TestCase {

    public function testFunction()
    {
        //here I need to call the phpcs command                  
     }
  }

在这里的示例中 http://laravel.com/docs/5.0/testing 我刚找到 this->call 函数,我认为这对我来说不是正确的选择,因为它返回一个 response 对象,正确的方法是什么?我应该使用哪个 Class 和函数来 运行 此 class 中的命令行 我还需要将命令的结果保存在变量中

我没有 Laravel 内置了调用命令行的功能。然而,它并不真的需要,因为您可以简单地使用 exec() 函数。基本上是这样的:

public function testFunction()
{
    exec('phpcs', $output);
    echo $output[0]; // output line 1
}

作为第二个参数,您可以传递一个变量,该变量将包含作为数组的输出的每一行。 exec() 函数本身 returns 输出的最后一行作为字符串。 (当 运行 像 php -v 这样的单行命令时特别有用)