Laravel - Artisan 命令
Laravel 5.7 引入了处理和测试新命令的全新方式。它包含了测试 artisan commands 的新功能,以下是演示 −
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 的新 class。它包含一个基本的 function testBasicTest,其中集成了各种 assertions 功能。
artisan 命令 expectsQuestion 包含两个属性:一个是问题,另一个是 apiKeySecret。在这里,artisan 会验证 apiKeySecret 并检查用户发送的输入。
类似的情景也适用于“Please select a version”问题,用户需要指定一个特定版本。