How To Test Artisan Commands in Laravel 5 How To Test Artisan Commands in Laravel 5 laravel laravel

How To Test Artisan Commands in Laravel 5


Example of test

<?phpclass YourCommandTest extends TestCase{    public function testExample()    {        Artisan::call('your_command', [            'command_parameter_1' => 'value1',            'command_parameter_2' => 'value2',        ]);        // If you need result of console output        $resultAsText = Artisan::output();        $this->assertTrue(true);    }}


It is much easier now:

<?phpclass YourCommandTest extends TestCase{    public function testExample()    {        $this->artisan('command', ['param' => 'value']);    }}


Maybe useful for someone

Artisan command Test Cases in Laravel 5.7

public function test_console_command(){    $this->artisan('your_command')         ->expectsQuestion('What is your name?', 'Ajay Makwana')         ->expectsQuestion('Which language do you program in?', 'PHP')         ->expectsOutput('Your name is Ajay Makwana and you program in PHP.')         ->assertExitCode(0);}

https://laravel-news.com/testing-artisan-commands-in-laravel-5-7