bashunit
bashunit copied to clipboard
Test prompt commands
It wiuld be nice to have an easy way to test commands that require user interaction, for example, as it is done with Laravel commands.
/**
* Test a console command.
*/
public function test_console_command(): void
{
$this->artisan('question')
->expectsQuestion('What is your name?', 'Taylor Otwell')
->expectsQuestion('Which language do you prefer?', 'PHP')
->expectsOutput('Your name is Taylor Otwell and you prefer PHP.')
->doesntExpectOutput('Your name is Taylor Otwell and you prefer Ruby.')
->assertExitCode(0);
}
https://laravel.com/docs/11.x/console-tests#input-output-expectations