Laravel - Commandes artisanales

Laravel 5.7 est livré avec une nouvelle façon de traiter et de tester de nouvelles commandes. Il comprend une nouvelle fonctionnalité de test des commandes artisanales et la démonstration est mentionnée ci-dessous -

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

Explication du code

Ici, une nouvelle classe nommée «ArtisanCommandTest» est créée sous le module des cas de test. Il comprend une fonction de basetestBasicTest qui comprend diverses fonctionnalités d'assertions.

La commande artisanale expectsQuestioncomprend deux attributs. L'un avec question et l'autre avec unapiKeySecret. Ici, l'artisan valide l'apiKeySecret et vérifie l'entrée envoyée par l'utilisateur.

Le même scénario s'applique pour la question «Veuillez sélectionner une version» où un utilisateur est censé mentionner une version spécifique.