Laravel - Comandos do Artesão

O Laravel 5.7 vem com uma nova forma de tratar e testar novos comandos. Inclui um novo recurso de teste de comandos artesanais e a demonstração é mencionada abaixo -

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);
   }
}

Explicação do Código

Aqui, uma nova classe chamada “ArtisanCommandTest” é criada no módulo de casos de teste. Inclui uma função básicatestBasicTest que inclui várias funcionalidades de asserções.

O comando do artesão expectsQuestioninclui dois atributos. Um com pergunta e outro com umapiKeySecret. Aqui, o artesão valida o apiKeySecret e verifica a entrada enviada pelo usuário.

O mesmo cenário se aplica à pergunta “Selecione uma versão”, em que o usuário deve mencionar uma versão específica.