Skip to main content
Glama
brianirish

Laravel MCP Companion

by brianirish
console-tests.md1.57 kB
# Console Tests - [Introduction](#introduction) - [Expecting Input / Output](#expecting-input-and-output) <a name="introduction"></a> ## Introduction In addition to simplifying HTTP testing, Laravel provides a simple API for testing console applications that ask for user input. <a name="expecting-input-and-output"></a> ## Expecting Input / Output Laravel allows you to easily "mock" user input for your console commands using the `expectsQuestion` method. In addition, you may specify the exit code and text that you expect to be output by the console command using the `assertExitCode` and `expectsOutput` methods. For example, consider the following console command: 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.'.'); }); You may test this command with the following test which utilizes the `expectsQuestion`, `expectsOutput`, and `assertExitCode` methods: /** * Test a console command. * * @return void */ public function testConsoleCommand() { $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); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brianirish/laravel-mcp-companion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server