如何在Laravel 5中为phpunit指定不同的.env文件? [英] How to specify a different .env file for phpunit in Laravel 5?

查看:324
本文介绍了如何在Laravel 5中为phpunit指定不同的.env文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆