Laravel工匠命令测试断言退出代码有风险



我正在运行一个基本的工匠命令测试,但phpunit抱怨This test did not perform any assertions。但我断言退出代码。

public function testCommandUsage()
{
$this->artisan('cmd:test')->assertExitCode(0);
}

此测试未执行任何断言

好的,但是不完整,跳过或有风险的测试!

assertExitCode和断言不是吗?

这似乎是框架中的一个错误。这是错误的行:

if ($this->expectedExitCode != null) 

这应该被if ($this->expectedExitCode !== null),因为0 == null在 PHP 中。

此处的解决方法是:

public function testCommandUsage()
{
$statusCode = $this->artisan('cmd:test')->run();
$this->assertEquals(0, $statusCode);
}

注意:如果尚未报告,请随时使用Laravel的错误跟踪器报告此问题,希望它很快就会得到解决。

显然,截至 5.7 小时前,此问题的修复程序已登陆 3 分支,因此应该很快就会发布修复程序。在此之前,解决方法应该有效。

相关内容

最新更新