Ujian baris arahan


Pengenalan

    Selain memudahkan ujian HTTP, Laravel menyediakan API mudah untuk menguji aplikasi konsol yang memerlukan input pengguna.
  • Input/output yang dijangkakan
Laravel menggunakan kaedah expectsQuestion untuk "mensimulasikan" input pengguna untuk arahan konsol. Selain itu, anda boleh menentukan kod keluar arahan konsol dan teks output yang dijangka menggunakan kaedah assertExitCode dan expectsOutput. Contohnya adalah seperti berikut:
Artisan::command('question', function () {
    $name = $this->ask('What is your name?');    
    $language = $this->choice('Which language do you program in?', [
            'PHP',        
            'Ruby',        
            'Python',    
         ]);    
     $this->line('Your name is '.$name.' and you program in '.$language.'.');
   });

Anda boleh merujuk kepada contoh kod berikut untuk menguji arahan, yang menggunakan expectsQuestion, expectsOutput dan assertExitCode kaedah:

/**
 * 测试控制台命令。
 *
 * @return void
 */
 public function test_console_command(){
     $this->artisan('question')      
        ->expectsQuestion('What is your name?', 'Taylor Otwell')        
        ->expectsQuestion('Which language do you program in?', 'PHP')         
        ->expectsOutput('Your name is Taylor Otwell and you program in PHP.')         
        ->assertExitCode(0);
     }

Artikel ini pertama kali diterbitkan di laman web

LearnKu.com

.