我有一个运行Symfony 2.0命令的测试。在测试中,我运行的命令是这样的:如何在运行Symfony2命令测试时设置命令行标志?
$application = new Application(static::$kernel);
$application->add(new MyCommand());
$command = $application->find('mycommand:name');
$commandTester = new CommandTester($command);
$commandTester->execute(array('command' => $command->getName()));
我想运行与--no-调试标志,这是一个内置的标志,该应用程序的命令:(?我猜)控制台。我已经试过:
$commandTester->execute(array('command' => $command->getName(), '--no-debug' => true));
,我也试过:
的建议here。我也尝试过其他一些排列。但是他们都没有做我想做的事情,这是关闭日志中的所有调试消息。有没有办法做到我想要的测试?
[手册页](http://symfony.com/doc/2.0/cookbook/console/usage.html)说:“除了更改环境外,还可以选择禁用调试模式。在你希望在开发环境中运行命令的地方很有用,但避免收集调试数据的性能影响:'$ php app/console list --no-debug'。“而我的经验正是如此,当我从命令行运行它时,--no-debug标志关闭了调试。 我知道如何在配置文件中设置日志级别,但我只想关闭此特定测试的调试,而不是所有测试。 – matt
好点如何在你的测试中初始化内核而不用调试? $ kernel = new AppKernel('test',false); – nifr
更新了我的答案 – nifr