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
这样的单行命令时特别有用)
我正在 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
这样的单行命令时特别有用)