Laravel 5.8.env.test文件不工作 [英] Laravel 5.8 .env.testing file is not working

查看:39
本文介绍了Laravel 5.8.env.test文件不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用我的凭据创建了一个.env.test文件,除了数据库的不同表名外,所有内容都与.env相同。

我尝试了php artisan config:clear,它删除了bootstrap/cache/config.php中缓存的配置文件,但它中断了数据库连接。如果我通过运行php artisan config:cache重新缓存文件,缓存的文件会返回,但没有.env.test文件中的凭据。当我重新运行PHPUnit时,它连接到错误的数据库,即存储在.env中而不是.env.testing中的数据库名称。

这是真的吗?最新的Laravel版本是否破坏了测试环境?

文档内容如下:(此处:https://laravel.com/docs/5.8/testing)

"您可以根据需要自由定义其他测试环境配置值。测试环境变量可以在phpuit.xml文件中配置,但请确保在运行测试之前使用CONFIG:CLEAR Artisan命令清除配置缓存!

此外,您还可以在项目的根目录中创建.env.test文件。当运行PHPUnit测试或使用--env=Testing选项执行Artisan命令时,此文件将覆盖.env文件。"

更新

我终于能够通过在phpuit.xml文件中添加数据库覆盖来覆盖.env中声明的数据库;.env.test仍然不起作用。这些文档至少具有误导性。

推荐答案

我在使用Laravel v5.6时也遇到了同样的问题。我使用不同的用户名、密码和数据库设置了.env.testing文件,但我的测试始终在主.env数据库中运行。

在运行config cache命令时,您似乎需要指定测试环境。运行此命令后,它的工作方式如文档中所述:

php artisan config:cache --env=testing

这篇关于Laravel 5.8.env.test文件不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆