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”的问题,其中用户应该输入一个特定的版本。