Laravel 5.8.env.test文件不工作 [英] Laravel 5.8 .env.testing file is not working
本文介绍了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屋!
查看全文