微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Laravel 5中为phpunit指定不同的.env文件?

我有一个包含我的数据库连接细节的.env文件,对于Laravel 5来说是正常的.我想覆盖这些测试,我可以在PHPunit.xml中执行.然而,这样做似乎违反了.env的哲学,它不是提交环境配置,特别是密码.

有可能有类似.env.testing的东西,并告诉PHPunit.xml从中读取吗?

将.env复制到.env.testing,然后编辑.env.testing文件,并更改APP_ENV参数,使其成为APP_ENV =测试这种方式,您将能够在此新文件中指定您的设置

如果您不想创建一个新的.env.testing文件,则必须在PHP部分的PHPunit.xml中使用所需的值指定变量,如下所示

<PHP>
    <env name="APP_ENV" value="testing"/>
    <env name="CACHE_DRIVER" value="array"/>
    <env name="SESSION_DRIVER" value="array"/>
    <env name="QUEUE_DRIVER" value="sync"/>
    <env name="DB_CONNECTION" value="sqlite"/>
    <env name="DB_DATABASE" value="testing"/>
</PHP>

只需使用名称部分中的键值和值部分中该键的值即可.

对于这个例子,我指定PHPunit使用带有测试名称sqlite数据库.

顺便说一下,在config / database.PHP中我添加了这个‘default’=> env(‘DB_CONNECTION’,’MysqL’),认情况下使用MysqL,除非我指定不同的东西,就像这种情况一样.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。