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。在这里,工匠验证 apiKeySecret 并验证用户发送的输入。

同样的场景也适用于“请选择一个版本”的问题,其中用户需要提及特定版本。