Laravel 5 :使用不同的数据库进行测试和本地在 Laravel 中创建测试数据库配置编辑 PHPUnit 配置

2022-08-30 11:57:08

如何在不每次都编辑文件的情况下更改数据库以在本地系统上进行开发和测试?.env

因此,我发现练习TDD非常不方便。

Laravel 应用程序是否有可能区分正常开发和测试,以便可以选择适当的数据库?


答案 1

在 Laravel 中创建测试数据库配置

编辑文件并将 - 数组添加到数组中:config\database.phptestingconnections

'connections' => [
    'testing' => [
        'driver' => env('DB_TEST_DRIVER'),
        // more details on your testing database
    ]
]

然后将必要的变量添加到 -file 中。.env

编辑 PHPUnit 配置

打开 -file 并在 -tag 中添加以下内容:phpunit.xml<php>

<env name="DB_CONNECTION" value="testing"/>

现在,PHPUnit 将在您在 - 数组中定义的数据库上运行测试。testing


答案 2

对于 Laravel 5.5,正确的方法是创建一个名为 的测试环境文件。在这里,您可以定义测试环境,包括要用于测试的数据库....env.testing

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test DB
DB_USERNAME=test DB user
DB_PASSWORD=test DB password

然后运行此命令...

php artisan config:cache --env=testing

这会将缓存配置为 .env.testing 文件参数。

以下是文档的链接。


推荐