Tests en ligne de commande
Laravel utilise la méthode Vous pouvez vous référer à l'exemple de code suivant pour tester la commande, qui utilise
IntroductionEn plus de simplifier les tests HTTP, Laravel fournit une API simple pour tester les applications de console qui nécessitent la saisie de l'utilisateur. expectsQuestion
pour "simuler" les entrées utilisateur pour les commandes de la console. De plus, vous pouvez spécifier le code de sortie de la commande de console et le texte de sortie attendu à l'aide des méthodes assertExitCode
et expectsOutput
. Un exemple est le suivant : 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.'.'); });
expectsQuestion
, expectsOutput
et assertExitCode code> méthodes : /**
* 测试控制台命令。
*
* @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);
}
Cet article a été publié pour la première fois sur le site LearnKu.com
.