如何在Laravel 5中为phpunit指定不同的.env文件? [英] How to specify a different .env file for phpunit in Laravel 5?
问题描述
我有一个.env
文件,其中包含我的数据库连接详细信息,这与Laravel 5一样.我想覆盖这些内容进行测试,这可以在phpunit.xml
中进行.但是,这样做似乎违反了.env
的理念,即不提交环境配置,尤其是密码.
I have a .env
file containing my database connection details, as is normal for Laravel 5. I want to override these for testing, which I can do in phpunit.xml
. However, doing this seems to go against the philosophy of .env
which is not to commit environmental configurations, particularly passwords.
是否可能有类似.env.testing
的东西并告诉phpunit.xml
从中读取?
Is it possible to have something like .env.testing
and tell phpunit.xml
to read from that?
推荐答案
将您的.env
复制到.env.testing
,然后编辑.env.testing
文件并更改APP_ENV
参数以使其类似于APP_ENV=testing
this您将可以在此新文件中指定设置的方式
Copy your .env
to .env.testing
, then edit the .env.testing
file and change the APP_ENV
parameter to make it like this APP_ENV=testing
this way you will be able to specify your settings int this new file
如果您不想创建新的.env.testing
文件,则必须在php部分的phpunit.xml
中使用所需的值指定变量,类似这样的
In case you don't want to create a new .env.testing
file you have to specify your variables in the phpunit.xml
in the php section with the values you need, something like this
<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>
只需在名称部分中使用键值,并在值部分中使用该键的值.
Just use the key values in the name section and the value of that key in the value section.
在此示例中,我指定phpunit使用名称为test的sqlite数据库.
For this example I am specifying phpunit to use an sqlite database with the name of testing.
在config/database.php中,我添加了这个
'default' => env('DB_CONNECTION', 'mysql'),
默认情况下使用mysql,除非在这种情况下我指定了不同的内容.
By the way in config/database.php I added this
'default' => env('DB_CONNECTION', 'mysql'),
to use mysql by default unless I specify something diferent, as in this case.
这篇关于如何在Laravel 5中为phpunit指定不同的.env文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!