You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:07:01