我正在运行基本的artisan command test,但是phpunit抱怨This test did not perform any assertions
。但是正在声明退出代码。
public function testCommandUsage()
{
$this->artisan('cmd:test')->assertExitCode(0);
}
此测试未执行任何断言
好的,但是测试不完整,被跳过或存在风险!
不是 assertExitCode
和断言吗?
答案 0 :(得分:2)
这似乎是框架中的错误。这是line that is wrong:
if ($this->expectedExitCode != null)
这本来应该是if ($this->expectedExitCode !== null)
,因为PHP中的0 == null
。
这里的解决方法是:
public function testCommandUsage()
{
$statusCode = $this->artisan('cmd:test')->run();
$this->assertEquals(0, $statusCode);
}
注意:如果尚未报告,请随时使用Laravel的错误跟踪器进行报告,并希望能尽快解决。
显然,截至3小时前,此问题的修复程序已进入5.7分支,因此应尽快发布修复程序。在此之前,解决方法应该起作用。