Der Titel sagt alles. Ich würde gerne wissen, wie man ein neues Laravel 5.4-Projekt mit Dusk unter Verwendung einer In-Memory-SQLite-Datenbank richtig einrichtet.Richten Sie Laravel 5.4 mit Dusk mit phpunit.xml, .env.dusk.local und einer SQLite In-Memory-Datenbank ein
kann ich die Tests laufen, aber ich erhalte eine Fehlermeldung: "Keine solche Tabelle: Benutzer"
- ich ein neues Laravel 5.4 Projekt angelegt haben
- installiert Dusk und hinzugefügt, um den Service Provider
- Ich verwende den Test von , der die Authentifizierung testet. Es enthält bereits die DatabaseMigrations-Eigenschaft
- Ich kann die Tests ausführen, und der erste funktioniert (Navigieren zur/Login-Route), aber die zweite, wo es versuchte, sich anzumelden schlägt fehl.
Ich habe eine .env.dusk.local
hinzugefügt, die
APP_ENV=local
APP_KEY=RANDOM_STRING_HERE
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://laravel54.dev
DB_CONNECTION=sqlite
DB_DATABASE=':memory:' // I've also tried just :memory: and also adding these details to the config/database.php file but to no avail
enthält Dies ist der Test I (direkt von the docs) leite
<?php
namespace Tests\Browser;
use App\User;
use Tests\DuskTestCase;
use Laravel\Dusk\Chrome;
use Illuminate\Foundation\Testing\DatabaseMigrations;
class LoginTest extends DuskTestCase
{
use DatabaseMigrations;
public function test_login_page()
{
$user = factory(User::class)->create();
$this->browse(function ($browser) use ($user) {
$browser->visit('/login')
->type('email', $user->email)
->type('password', 'secret')
->press('Sign in')
->assertPathIs('/home');
});
}
}
Was bin ich?
Sie vor jedem Test migrieren müssen – Kyslik
Ich bin schon das DatabaseMigrations Merkmal verwenden. – Mike
@Mike Haben Sie schon eine Lösung gefunden? Die Verwendung einer Datei ('database' => database_path ('database.sqlite')) führt die Tests grün, aber nicht Memory:/ – Mike