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

Laravel包开发中Pest测试时.env.testing文件读取失败排查

解决.env.testing变量无法读取的问题
  • 手动加载测试环境变量文件
    Spatie Package Skeleton的测试启动流程不会自动加载.env.testing,需要在测试入口文件里手动添加加载逻辑。打开tests/Pest.php(如果用的是基础测试类则打开tests/TestCase.php),在文件头部加入以下代码:
use Illuminate\Support\Facades\Dotenv;

if (file_exists(__DIR__.'/../.env.testing')) {
    Dotenv::load(__DIR__.'/../', '.env.testing');
}
  • 清除测试环境的配置缓存
    如果之前生成过测试环境的配置缓存,会导致env()函数无法读取最新的.env变量,执行以下命令清除缓存:
php artisan config:clear --env=testing
  • 规范env()函数的使用
    Laravel中,一旦生成配置缓存,env()函数仅能在配置文件中生效,其他业务代码里调用会返回null。如果你的包是在配置文件中引用env变量,要确保配置文件被正确加载,且测试环境未启用配置缓存。

内容的提问来源于stack exchange,提问作者JanBoehmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:33:11