如何在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,除非我指定不同的东西,就像这种情况一样.

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载