gpt4 book ai didi

php - Laravel:运行测试时禁用 Artisan 控制台输出

转载 作者:行者123 更新时间:2023-11-28 21:22:02 25 4
gpt4 key购买 nike

当运行正在测试 Artisan 命令的 PHPUnit 测试时,PHPUnit 输出任何控制台 ->info() 或 ->writeln() 函数调用。

测试不会因此而失败,尽管它很丑陋。

例子:

enter image description here

看到进度条了吗?我们如何在测试期间禁用输出?

最佳答案

我想到的一些选项都与命令的冗长一起操作:

  • call() 中使用 --quiet|-q 标志
  • 使用 callSilent() 而不是 call() (来自测试本身)
  • 从容器中解析命令并在使用前将详细程度设置为quiet:$cmd = resolve(Command::class); $cmd->setVerbosity('安静'); $cmd->doWork();
  • 制作虚拟命令来扩展您的测试命令并将详细程度设置为安静 $this->setVerbosity('quiet'); 并且显然解析/更新虚拟命令

最新的例子(在一个文件中):

class TestCommand extends TestCase {

...

}

class DummyCommand extends RealCommand {

function __constructor() {
parent::__construct();
$this->setVerbosity('quiet');
}

}

关于php - Laravel:运行测试时禁用 Artisan 控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com