我有一个包含我的数据库连接细节的.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,除非我指定不同的东西,就像这种情况一样.