Testing Artisan Commands in Laravel 5.7
Published on by Paul Redmond
Laravel 5.7 is going to improve how you write Artisan console commands, with a new API contributed by Laravel employee Mohamed Said:
ICYMI Last week a new PR was merged into laravel 5.7 with a neat way for testing Artisan commands, check details here: https://t.co/36f9FbAhBI pic.twitter.com/pLC3sVLrJP
— Mohamed Said???? (@themsaid) August 27, 2018
You can learn more about the new console testing API is available in the Laravel 5.7 Console Tests Documentation:
<?php /** * Test a console command. * * @return void */public function test_console_command(){ $this->artisan('laracon') ->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);}
Mohamed Said contributed the new testing API in laravel/framework#25270 if you are interested in the implementation details. He also introduced the new style of Testing Artisan Commands in Laravel 5.7+ on his blog, where you can find more information and an example.
Nice work Mohamed!