如何在Laravel Pest测试中终止Prompt textarea输入?
Laravel 11 Artisan命令textarea prompt测试终止方案
Laravel 11的textarea prompt在Mac环境下需要按^D(Ctrl+D)结束输入,但用->expectsQuestion()写测试时,单纯传入输入内容会导致测试一直等待终止信号,无法继续。
解决办法很直接,在测试传入的回答内容末尾添加\x04(这是Ctrl+D对应的ASCII编码),让测试识别到终止信号:
$this->artisan('your:command-name') ->expectsQuestion('你的textarea提示文本', "测试输入内容\n多行内容也支持\x04") ->assertExitCode(0);
如果需要输入多行内容,直接在字符串里用\n换行,最后跟上\x04就行,测试会自动结束输入流程,继续执行后续断言。
内容的提问来源于stack exchange,提问作者andrepolo
相关产品推荐
相关产品推荐

