Laravel 如何从Behat测试内部运行shell命令?
我正在开发laravel 5应用程序,我需要创建artisan命令。我使用Behat作为我的测试框架。我知道我可以在behat中测试数据库的状态。我想运行一个命令,比如“ php artisan:my命令 从behat步骤内部。我如何完成此操作Laravel 如何从Behat测试内部运行shell命令?,laravel,behat,laravel-artisan,Laravel,Behat,Laravel Artisan,我正在开发laravel 5应用程序,我需要创建artisan命令。我使用Behat作为我的测试框架。我知道我可以在behat中测试数据库的状态。我想运行一个命令,比如“ php artisan:my命令 从behat步骤内部。我如何完成此操作 感谢在您的FeatureContext课程中: /** * @When I run :command */ public function iRun($command) { $this->output = shell_exec($com
感谢在您的
FeatureContext
课程中:
/**
* @When I run :command
*/
public function iRun($command)
{
$this->output = shell_exec($command);
}
如果您使用的是Symfony控制台组件,请查看
您甚至可以像on这样描述您的命令。我找到了一种简单的方法来实现这一点。因为我正在运行artisan命令,所以我可以使用artisan facade
/**
* @Given I run the artisan command :command with args :args
* @param $command
* @param $args
*/
public function iRunTheArtisanCommandWithArgs($command, $args)
{
\Artisan::call($command, [$args]);
}
您也可以在behat的文档中找到这一点。