Befehlszeilentests
Konsolentest
- Einführung
- Erwarten Sie Input / Laravel vereinfacht nicht nur HTTP-Tests, sondern bietet auch eine einfache API zum Testen von Konsolenanwendungen, die Benutzereingaben erfordern.
Erwartete Eingabe/Ausgabe
Laravel verwendet die
-Methode, um Benutzereingaben für Konsolenbefehle zu „simulieren“. . Darüber hinaus können Sie den Exit-Code des Konsolenbefehls und den gewünschten Ausgabetext mithilfe der MethodenArtisan::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.'.'); });Sie können sich auf den Beispielcode unten beziehen, um den Befehl zu testen, der die Methoden
,
und verwendet:
/** * 测试控制台命令。 * * @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); }
Dieser Artikel war erstmals veröffentlicht auf der Website expectsQuestion
LearnKu.comassertExitCode
. expectsOutput