如何在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] laravel的数据库配置 找到程序目录结构下.env文件 配置基本的数据库连接信息 DB_HOST=127.0....
[Laravel] Laravel的基本HTTP路由 使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes....
如果说laravel框架的核心是什么,那么无疑是服务容器。理解服务容器的概念,对于我们使用laravel太重要...
网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用a...
laraveli添加一个或多个用户表,以admin为例。 部分文件内容可能需要根据实际情况修改 创建一个Admin模...
TL;DR: 本文介绍 Laravel 的 FastExcel 组件,文中会对 PHP generators 速览,并给出如何在节约内存的同...