Laravel - Comandi artigiani

Laravel 5.7 viene fornito con un nuovo modo di trattare e testare nuovi comandi. Include una nuova funzionalità per testare i comandi artigianali e la dimostrazione è menzionata di seguito:

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

Spiegazione del codice

Qui viene creata una nuova classe denominata "ArtisanCommandTest" nel modulo dei casi di test. Include una funzione di basetestBasicTest che include varie funzionalità di asserzioni.

Il comando artigiano expectsQuestioninclude due attributi. Uno con la domanda e l'altro con unapiKeySecret. Qui, l'artigiano convalida l'apiKeySecret e verifica l'input inviato dall'utente.

Lo stesso scenario si applica alla domanda "Selezionare una versione" in cui ci si aspetta che un utente menzioni una versione specifica.