Laravel Artisan命令


Laravel 5.7 带来了处理和测试命令的新方法,它包括一个测试artisan命令的新功能,演示如下:

class ArtisanCommandTest extends TestCase{
    public function testBasicTest() {
        $this->artisan('nova:create', [
            'name' => 'My New Admin panel'
        ])
        ->expectsQuestion('Please enter your API key', 'apiKeySecret')
        ->expectsOutput('Authenticating...')
        ->expectsQuestion('Please select a version', 'v1.0')
        ->expectsOutput('Installing...')
        ->expectsQuestion('Do you want to compile the assets?', 'yes')
        ->expectsOutput('Compiling assets...')
        ->assertExitCode(0);
    }
}

代码说明


这里在测试用例模块下创建了一个名为“ArtisanCommandTest”的新类,它包括一个基本功能testBasicTest,其中包括断言的各种功能。

Artisan命令expectsQuestion包括两个参数,一个是问题,另一个是apiKeySecret,artisan验证 apiKeySecret 并验证用户发送的输入。

同样的场景适用于“Please select a version”的问题,其中用户应该输入一个特定的版本。