我有一个应用程序,我想使用 Laravel Dusk。
我创建了一个名为.env.dusk.local
带有用于测试的数据库和名为的文件.env
使用我的默认数据库。
我运行 php artisan 命令并创建了一个用户/register
.
在我使用相同的电子邮件但使用不同的密码创建登录测试后,这不会成为问题,因为在.env.dusk.local
这将是一家不同的银行,并且不会有任何用户注册。
但是当我运行 php artisan dusk 命令时,它会从原始文件中获取信息.env
并最终删除我的默认数据库中的所有记录。
我想知道如何从我的网站加载信息.env.dusk.local
并使用我的测试数据库。
.env 默认值
APP_ENV=local
APP_KEY=base64:K8otIkxJk0rFsZYSEq1hwBuaxQX3QI3Bb7ZmemJRIWg=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_dusk
DB_USERNAME=root
DB_PASSWORD=123456
.env.dusk.local
APP_ENV=local
APP_KEY=base64:K8otIkxJk0rFsZYSEq1hwBuaxQX3QI3Bb7ZmemJRIWg=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_dusk_test
DB_USERNAME=root
DB_PASSWORD=123456
testLogin 的 Mu 函数
namespace Tests\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Support\Facades\App;
use Tests\DuskTestCase;
class LoginTest extends DuskTestCase
{
use DatabaseMigrations;
/**
* A Dusk test example.
*
* @return void
*/
public function testLogin()
{
$user = factory(\App\User::class)->create(['email' => '[email protected] /cdn-cgi/l/email-protection']);
$this->browse(function ($browser) use ($user) {
$browser->visit('/login')
->type('email', $user->email)
->type('password', 'secret')
->press('Login')
->assertPathIs('/home');
});
}
}
这是github上的这个项目 https://github.com/thuram/laravel-dusk