gpt4 book ai didi

php - 如何使用 Laravel Dusk 创建用于测试的 .env 文件

转载 作者:可可西里 更新时间:2023-11-01 12:53:05 24 4
gpt4 key购买 nike

我正在使用 Dusk 进行简单的登录测试。

我创建了一个 .env.dusk 文件,以便测试使用备用数据库并且不会删除在平台上注册的数据。

存档.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_dusk
DB_USERNAME=root
DB_PASSWORD=123456

存档.env.dusk

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_dusk_test
DB_USERNAME=root
DB_PASSWORD=123456

登录测试.php

namespace Tests\Browser;

use Tests\DuskTestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class LoginTest extends DuskTestCase
{
use DatabaseMigrations;
/**
* A Dusk test example.
*
* @return void
*/
public function testLogin()
{
$user = factory(\App\User::class)->create(['email' => 'example@example.com']);

$this->browse(function ($browser) use ($user) {
$browser->visit('/login')
->type('email', $user->email)
->type('password', 'secret')
->press('Login')
->assertPathIs('/home');
});
}
}

但是当我运行测试时,它不会更改数据库,而是会从应用程序中使用的数据库中删除所有数据。

我该如何解决这个问题?

最佳答案

你必须在 .env.dusk 文件名的末尾附加一个环境值(它与你将在其中初始化 Dusk 的环境相匹配)(例如 - .env.dusk.local)。作为引用,请查看 Dusk Environment Handling 上的文档.

更新:如果您的意见仍然存在问题,请将以下内容放在您的 testLogin 函数的顶部并报告它所说的内容 dd(env('APP_ENV') );

关于php - 如何使用 Laravel Dusk 创建用于测试的 .env 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43046749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com